Autor Beitrag
opfer.der.genauigkeit
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: Mi 18.09.02 14:44 
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.

_________________
Stellen Sie sich bitte Zirkusmusik vor.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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.

ausblenden Quelltext
1:
2:
3:
4:
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
   Button1.Enabled := RichEdit1.SelLength > 0;
end;


Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
opfer.der.genauigkeit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: 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.

_________________
Stellen Sie sich bitte Zirkusmusik vor.
opfer.der.genauigkeit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: Mi 18.09.02 16:48 
Hab mein Problem lösen können. :D

ausblenden 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;

_________________
Stellen Sie sich bitte Zirkusmusik vor.