So erstelle ich eine Tab mit dem Memo drauf
globale Variablen
Delphi-Quelltext
1: 2: 3: 4:
| FSynPhpEditor: TFSynPhpEditor; MyMemo: TSynMemo; SeitenNr: Byte; ts: TTabSheet; |
Diese Procedur wir z.B. Beim Programmstart aufgerufen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TFSynPhpEditor.newTab(); begin Inc(SeitenNr); ts := TTabSheet.Create(PageControl1); with ts do begin PageControl := PageControl1; Name := 'TS' + IntToStr(SeitenNr); Caption := 'unbekannt'+ IntToStr(SeitenNr) +'.txt'; PageControl.ActivePageIndex:=PageControl.PageCount-1; end;
MyMemo := TSynMemo.Create(Self); MyMemo.Align := alClient; MyMemo.Name := 'Memo_' + PageControl1.ActivePage.Name; MyMemo.Highlighter := SynPHPSyn1; MyMemo.Gutter.ShowLineNumbers:= FEinstellungen.CheckBox4.Checked; MyMemo.ActiveLineColor:= FEinstellungen.AdvColorSelector3.SelectedColor; MyMemo.Lines.Clear; MyMemo.Lines.Add('<?php'); MyMemo.Lines.Add(''); MyMemo.Lines.Add('?>'); MyMemo.Parent := PageControl1.ActivePage; end; |
So lade ich dann eine Text zum Bearbeiten
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TFSynPhpEditor.FileOpen1Accept(Sender: TObject); var filename:string; begin newTab; TSynMemo(FindComponent('Memo_' + PageControl1.ActivePage.Name)).Lines.LoadFromFile(FileOpen1.Dialog.FileName); FileName := FileOpen1.Dialog.FileName; StatusBar1.Panels[0].Text := FileName; PageControl1.ActivePage.Caption:= ExtractFileName(FileName) ; end; |
So nun starte ich mein Programm und lade einen Text den ich bearbeiten möchte.
Markiere mit der Maus z.b. ein Wort und drücke die ENTF Taste und
der Tab samt Memo werden geschlossen.
Ich habe für die Tasten abfrage nicht programmiert.
Kein OnKeypres oder ähnliches.
Ich habe mir mal ein neues Programm erstellt wo nur ein TSynMemo drauf ist und
das Prog gestartet. (Vorher hab ich einen Text über das Eigenschaften Feld "LINES" eingefügt)
wenn ich jetzt ein Wort markiere und dann die ENTF Taste auf der Tastatur drücke wird
das Wort aus dem Text gelöscht und das Memo verschwindet nicht. So wie es ja auch in meinem
Programm seien soll.
Gruß Ingo