![]() |
Im Memo die Farbe einer Zeile ändern
Ich habe ja gelernt: neue Frage, neues Topic. Es gab zwar schon Typen, die die Schriftfarbe ändern wollten, aber ich will die Hintergrundfarbe ändern (so wie zum Beispiel bei Breakpoints beim Delphi-Editor). Muss kein Memo sein, darf auch ein RichEdit o.ä. sein.
|
Re: Im Memo die Farbe einer Zeile ändern
Hi!
Ich denke, dass müsste dir helfen: ![]() Allerdings brauchst du dafür Richedit 2.0; vielleicht hilft es dir ja trotzdem! ciao fkerber |
Re: Im Memo die Farbe einer Zeile ändern
was wo wie? richedit 2.0????
|
Re: Im Memo die Farbe einer Zeile ändern
TRichEdit.
|
Re: Im Memo die Farbe einer Zeile ändern
Ja, klappt. Aber ich kann damit nur den markierten Text färben. Ich will ganze, nicht markierte, Zeilen färben. Die extra zwischenzeitlich markieren, ist ja wohl nicht das Gelbe vom Ei! Und da das ganze irgendwie über WindowsMessages grht, ist ein Analogieschluss nicht ganz so simpel!
|
Re: Im Memo die Farbe einer Zeile ändern
Und jetzt das ganze bitte noch mal auf deutsch. :roll:
|
Re: Im Memo die Farbe einer Zeile ändern
Also: Der Code färbt wunderbar DAS, was markiert ist. Ich einfach über die Angabe der Zeilennummer färben, ohne diese erst zu markieren, und dann das markierte zu färben. Das ist mir aber nicht möglich, da irgendwelche WindowsMessages verwendet werden, bei denen ich nicht erraten kann, wie ich den Wert ändern soll, wenn ich nicht den markierten Text, sondern z.b. Zeile 142 färben will.
Hoffe, man versteht mich. :freak: |
Re: Im Memo die Farbe einer Zeile ändern
Hallo
Delphi-Quellcode:
mit sendmessage und PdsK etc. habe ich noch nicht so viel am hut, wenn es auch anders geht dann herdamit :)
procedure TForm1.Button3Click(Sender: TObject);
Var i:integer; CharRange: TCharRange; Zeile:integer; begin Zeile:=3; //jetz hier nur zum testen with richedit1 do begin //angegebene Zeile markieren charrange.cpMin:=SendMessage(Handle, EM_LINEINDEX, Zeile, 0); charrange.cpmax:=charrange.cpMin+length(Lines[Zeile]); SendMessage(Handle, EM_EXSETSEL, 0, LongInt(@CharRange)); SelAttributes.Color:=clblue;//oder hier halt die Proc von Swissedelphi-center ansetzen SelLength:=0;//markierung aufheben end; end; Mfg Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 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