Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi RichEdit "piept" (https://www.delphipraxis.net/105943-richedit-piept.html)

ghost007 2. Jan 2008 19:34


RichEdit "piept"
 
Hallo,
ich adde mit folgendem code eine zeile in eine richedit:

Delphi-Quellcode:
procedure TForm1.AddMessage(msg:string;color:TColor);
begin
 RichEdit1.Lines.Add(msg);
 RichEdit1.SelStart:=length(RichEdit1.Text)-length(msg)-2;
 RichEdit1.SelLength:=length(msg);
 RichEdit1.SelAttributes.Color:=color;
 RichEdit1.ClearSelection;
end;
So, nun hab ich nur das problem, das jedesmal, wenn eine zeile geaddet wird so ein windowssound abgespielt wird.
Wie kann ich das unterbinden?

MfG - Ghost007

Die Muhkuh 2. Jan 2008 20:35

Re: RichEdit "piept"
 
Auch wenn ich Dir jetzt nicht Deine erhoffte Antwort bringe, aber so, wie Du eine Nachricht hinzufügst, ist es alles andere als performant. Gescheiter wäre es, wenn Du die Nachricht erst aufsplittest, dann die SelAttribute setzt und dann die Nachricht hinzufügst. Jedesmal auf RichEdit.Text zu zugreifen, kann bei viel Inhalt unperformant werden.

ghost007 2. Jan 2008 21:59

Re: RichEdit "piept"
 
Zitat:

Zitat von Die Muhkuh
Auch wenn ich Dir jetzt nicht Deine erhoffte Antwort bringe, aber so, wie Du eine Nachricht hinzufügst, ist es alles andere als performant. Gescheiter wäre es, wenn Du die Nachricht erst aufsplittest, dann die SelAttribute setzt und dann die Nachricht hinzufügst. Jedesmal auf RichEdit.Text zu zugreifen, kann bei viel Inhalt unperformant werden.

hi,
wie die nachricht "aufsplitten" ? :shock: versteh nicht was du damit meinst.

MfG - Ghost007

P.S. Hat keiner ne ahnung warum das ding piept ?

[EDIT]
Anscheinend lag es an dem ClearSelection ... habs nun ma auskommentiert und es geht wunderbar.
[/EDIT]

Christian Seehase 2. Jan 2008 22:23

Re: RichEdit "piept"
 
Moin Christian,

ideal wäre es, wenn Du Dir einfach immer die nächste Startposition merken würdest (z.B. in einem privaten Feld des Formulares)
Das erspart Dir das ständige Length(Text).
Statt ClearSelection ginge auch SelLength auf 0 zu setzen.

ghost007 2. Jan 2008 22:51

Re: RichEdit "piept"
 
ok,
danke hat sich dann erledigt :)

MfG - Ghost007


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz