![]() |
Komisches RichEdit/Memo OnChange-Verhalten...
Hallo DPler,
mal wieder ein Problem. Ich nutze ein TRichEdit (eigentlich TTntRichEdit). Ich lade Daten in und aus dem RichEdit per NameRichEdit.Text. Wenn ich nun das RichEdit auf ein TabSheet packe und der Benutzer zum ersten Mal auf das Tabsheet wechselt, wird das OnChange des RichEdit getriggert. Unabhängig von den Eigenschaften "wordwrap" (ist false, sonst wäre es ja fast klar warum), "PlainText" etc. Auch das Laden der einzelnen Lines brachte keine Änderung. Ich las nun bei Qt vom merkwürdigen RichEdit/Memo-OnChange verhalten. Weiß hier einer Abhilfe oder kennt das Problem? Gruß winkel79 |
Re: Komisches RichEdit/Memo OnChange-Verhalten...
Hallo,
isoliere das Problem: Nimm ein leeres Projekt, ziehe ein PageControl darauf und verpasse diesem zwei Seiten. Auf die erste Seite packe ein RichEdit, auf die zweite ein Memo. An das Ereignis OnChange() der beiden Komponenten hängst du diesen Code:
Delphi-Quellcode:
Tritt der Fehler auf, dann stelle das Demo-Projekt zur Verfügung. Wenn der Fehler verschwunden ist, dann liegt es an deinem eigenen Code.
procedure TDemoForm.Change(Sender: TObject);
begin with Sender as TComponent do ShowMessage(Name); end; Grüße vom marabu |
Re: Komisches RichEdit/Memo OnChange-Verhalten...
Hi marabu!
Zitat:
Es liegt weder an meinem Code, noch an den RichEdits. Es liegt an Delphi. Mist... Ich beobachte schon zum zweiten Mal erhebliche Probleme, mit Nested Forms (Forms, die als Parent ein Panel auf dem MainForm zugewiesen haben). Ich mache jetzt hierzu einen neuen Thread auf. Gruß und Danke für die Hilfe winkel79 |
Re: Komisches RichEdit/Memo OnChange-Verhalten...
Vielleicht liegt es doch an dem Control. Ich habe das mal nachvollzogen: Das TntRichEdit löst das OnChange dann aus, wenn Wordwrap auf false steht.
Vermutlich liegt es daran
Delphi-Quellcode:
Eigentlich kommt mir das unabhängig von Deinen weiteren Beobachtungen und dem anderen Thread auch logisch vor, denn bei WordWrap = false muß ja auch das Element möglicherweise neu gezeichnet werden (Scrollbalken etc.)
procedure TTntCustomRichEdit.CreateParams(var Params: TCreateParams);
begin inherited CreateParams(Params); if WordWrap then Params.Style := Params.Style and not WS_HSCROLL; // more compatible with RichEdit 1.0 end; Grüße, Messie |
Re: Komisches RichEdit/Memo OnChange-Verhalten...
Hi messie,
ich habe mir auch gerade die TntRichEdits und die VCL RichEdit.pas angesehen. Das Problem besteht aber auch bei einem normalen TRichEdit mit/ohne WordWrap und einem TntRichEdit mit/ohne WordWrap... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 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