![]() |
Auf OnChange im RichEdit reagieren
Hallo Leute
Wie kann Ich auf Änderung des OnChange Ereignises von RichEdit reagieren am besten ohne Timer. Also SelText, SelLenght oder eben Veränderungen im RichEdit mit Timer ja kein Problem. |
Re: Auf OnChange im RichEdit reagieren
Du hast Dir die Frage doch im Prinzip schon selbst beantwortet... im OnChange Ereignis kannst du auf Veränderungen reagieren!
Oder hab ich jetzt falsch verstanden? :gruebel: |
Re: Auf OnChange im RichEdit reagieren
Ja etwas Blöd ausgedrückt wahrscheinlich, ich möchte in einer selbstgeschriebenen procedure ständig prüfen ob sich im RichEdit etwas verändert und kann das OnChange nicht nutzen.
Hoffe Ich hab Mich jetzt etwas klarer Ausgedrückt. Also zb. ist Text Selektiert - Label.Enabled:=False |
Re: Auf OnChange im RichEdit reagieren
Aber warum kannst du das OnChange nicht nutzen? Reagiert das nicht auf eine Selektion?
Edit: habs grad ausprobiert, reagiert tatsächlich nicht... wie wärs, wenn du im OnMousMove schaust, ob sich SelLength verändert hat? Edit2: Hier das könnte dir helfen:
Delphi-Quellcode:
procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin caption := inttostr(RichEdit1.SelLength); end; |
Re: Auf OnChange im RichEdit reagieren
Naja Die procedure liegt in einer anderen Unit und erstellt eine Komponente zur Laufzeit und Ich möchte gern das, das unabhängig vom RichEdit funktioniert.
Also Es soll einmal ein PopUpMenu werden was auf eben zb. Selektierten Text im RichEdit reagieren soll bei Kopieren usw. |
Re: Auf OnChange im RichEdit reagieren
Also du willst sozusagen eine unabhängige OnChange Methode, die du für beliebige RichEdits einsetzen kannst?
Ich weiß nicht, ob das möglich ist... hast schonmal versucht deine eigene OnChange Methode zu Basteln und sie deinem zur Laufzeit erstelltem Richedit zuzuweisen a la
Delphi-Quellcode:
Hierbei müsste deine OnChange Methode die gleichen Parameter haben, wie die Ursprüngliche.
MyRichEdit.OnChange := MyOnChange
|
Re: Auf OnChange im RichEdit reagieren
Wenn ich dich richtig verstehe, willst du in einer zur Laufzeit erstellten Form auf das OnChange-Ereignis des RichEdit einer bestehenden Form zugreifen, oder?
Beim Erstellen der laufzeitgenerierten Form die Unit der bereits bestehenden Form (mit dem RichEdit) einbinden? Sollte eigentlich klappen, da du ja alle Daten des RichEdit schon hast? |
Re: Auf OnChange im RichEdit reagieren
Nochmal, vieleicht krieg Ich es ja noch etwas besser beschrieben.
Ich Habe die MainForm auf der sich ein RichEdit befindet und eine zweite Unit wo sich der Code zum erstellen des PopUpMenus befindet. Der Sinn ist der, das Ich die Unit dann nur einbinden brauch wenn ich mal ein Projekt mit RichEdit hab. Nun muss Ich aber Items des PopUpMenu Enablen können je nachdem was im RichEdit passiert und das soll auch mit in die PopUpUnit damit das Unabhängig ist. Wenn Ich das alles ins OnChange vom RichEdit oder einem Timer schreiben würde hatt das ja nicht viel Sinn. Außer Ich erstelle vieleicht noch einen Timer zur Laufzeit, aber das müsste doch noch irgendwie anders zu machen sein. |
Re: Auf OnChange im RichEdit reagieren
Hallo,
bzgl. SelText und Co verfügt ein RichEdit auch über das Ereignis OnSelection-Change. Ansonsten, kannst Du denn nicht im Ereignis OnPop des Popupmenüs die Situation im Richedit ermitteln und deine Menü-Items entsprechend einstellen. Das Ereignis OnPop wird vor der Anzeige des PopUp-Menüs gefeuert. |
Re: Auf OnChange im RichEdit reagieren
Zitat:
Aber da kann Ich auf die Ereignisse nicht zugreifen, weiss jedenfalls nicht wie. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz