Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Cut
opfer.der.genauigkeit - Mi 18.09.02 14:44
Titel: Cut
Ich hab folgendes Problem. :?
Ich habe einen Button auf einem Frame sitzen der beim OnClick Ereignis
bei einer RichEditKomponente die Eigenschaft CutToClipboard erzeugt.
Allerdings soll dieser Button erst dann auf Enabled gesetzt werden, wenn der Text markiert wurde. (Voreinstellung des Buttons ist Enabeld := false)
Nunja... mein Problem ist ganz einfach, daß ich keinen Befehl mit dem ich dem Button sagen kann, daß ein Text markiert wurde.
Danke für die Hilfe.
LCS - Mi 18.09.02 14:59
Hi
Du kannst dafür das SelectionChange Ereignis der RTF Komponente verwenden. Borland liefert da auch ein ganz brauchbares Demoprogramm dazu.
Quelltext
1: 2: 3: 4:
| procedure TForm1.RichEdit1SelectionChange(Sender: TObject); begin Button1.Enabled := RichEdit1.SelLength > 0; end; |
Gruss Lothar
opfer.der.genauigkeit - Mi 18.09.02 15:42
Ich wünschte ich könnte sagen, daß es funktioniert hat...
Aber trotzdem danke.
Das Problem an der ganzen Geschichte ist, daß ich das Programm übernommen habe.
Fakt ist, daß in dem Moment in dem das Programm gestartet wird bereits die RichEditKomponente mit mit einem Text geladen wird.
Delphi erkennt dies schon als ein ChangeEvent.
Ich hab leider keinen Zugang zum vollständigen Quellcode sonst würd ich ja nachdem die File geladen wurde dementsprechend IsDirty auf false setzen...
Naja is auch nicht so dramatisch. Ich werd schon was finden.
Trotzdem danke. :)
P.S.: Die Demo hab ich mir schon reingezogen... allerdings ist die auch mehr schlecht als recht.
opfer.der.genauigkeit - Mi 18.09.02 16:48
Hab mein Problem lösen können. :D
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| private fReadChars : integer;
//In der Prozedure des anfänglichen ladens wird fReadChars deklariert // fReadChars := length(EasyRichEdit1.Lines.Text);
procedure TFrameMemoEditor.EasyRichEdit1SourceChanged(Sender: TObject; State: TEasyEditSourceStates); begin inherited; //Veränderungen nach dem Laden werden ignoriert if bIgnorr then exit; //IsDirty = true? if IsDirty = true then exit; //Die geladene Datei wird mit der Länge der Richeditkomponente verglichen if length(EasyRichEdit1.Lines.Text) <> fReadChars then begin UndoButton.Enabled := true; IsDirty := true; end; exit; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!