![]() |
Re: Schriftfarbe in Listbox
@Thornberry^^
1. Die Farbe soll aus der Registry kommen. 2. Rot auf rotem Grund??? ------------------------------------------------------------------------------------ Natürlich muss ein Textout erfolgen. Also
Delphi-Quellcode:
procedure TForm1.Listbox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState); // "regist" ist in TForm1.FormCreate initialisiert worden?! var Farbe : TColor; begin { ... wenn Hintergrundfarbe verändert werden soll, dann siehe ^^^ } Listbox1.Canvas.FillRect(Rect); Farbe:=regist.ReadInteger('Name_'+IntToStr(Index)+'_color'); Listbox1.Font.Color:=Farbe; { ... eventuelle Formatierungen ... oder sonstige Manipulationen an Texten oder Stilen....} Listbox1.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]); end; |
Re: Schriftfarbe in Listbox
Zitat:
den code ändern kannst du hoffentlich aber schon :roll: :zwinker: |
Re: Schriftfarbe in Listbox
Vielen Dank für eure Hilfe! Nach zwei Stunden hat 's funktioniert ;-)
Delphi-Quellcode:
regist:=TRegistry.Create;
regist.RootKey:=HKEY_CURRENT_USER; regist.OpenKey(...,true); regist.GetValueNames(temp); Listbox1.Canvas.Brush.Color := clWhite; for i:=0 to temp.Count - 1 do begin if regist.ReadString('Name'+IntToStr(i))=Listbox1.Items[Index] then begin Farbe:=regist.ReadInteger('Name'+IntToStr(i)+'color'); lstbxChannelsCPC.Canvas.Pen.Color := Farbe; lstbxChannelsCPC.Canvas.FillRect(Rect); lstbxChannelsCPC.Canvas.Font.Color := Farbe; lstbxChannelsCPC.Canvas.TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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