![]() |
Eigene Farblistbox
Hallo Leute,
ich möchte eine eigene Farblistbox erstellen und weiss nicht wie! Wie folgt soll es aussehen. Links, soll das jeweilige Item eine farbige Box haben und rechts soll daszu der Farbname sein. Im Prinzip so, wie die ColorBox ist. Nur eben als Listbox. Ich würde mir einen ConstBlock mit den Farbcode erstellen und einen mit den dazugehörenden Farbnamen. Nun müsste ich nur noch eine Routine haben, mit der ich die Listbox befüllen und bemale. Nur WIE????? |
Re: Eigene Farblistbox
Liste der Anhänge anzeigen (Anzahl: 1)
:hi:
Schau Dich mal nach OwnerDraw um. mfg Tobias |
Re: Eigene Farblistbox
Ja genau so was meine ich. Nur das ich dort zum Beispiel alle NetscapeFarben (216 Stück) unterbringen will.
Hast Du einen kleinen Fetzen Code??? |
Re: Eigene Farblistbox
:hi:
Das von vorhin hatte ich mit diesem hingeschluddert.
Delphi-Quellcode:
Als Items hatte ich einfach Farbkonstanten so wie clGreen ...
procedure TMainForm.ListBoxDrawItem(Control: TWinControl; Index: Integer;
aRect: TRect; State: TOwnerDrawState); var z : Byte; s : String; r : TRect; begin if not (Control is TListBox) then Exit; with TListbox(Control) do begin z := ItemHeight; s := Items[Index]; with Canvas do begin Brush.Style := bsSolid; Brush.Color := clWhite; if odSelected in State then Brush.Color := clGray; FillRect(aRect); Pen.Color := clBlack; Brush.Color := StringToColor(s); r := Rect(aRect.Left+1,aRect.Top+1,aRect.Left+z-1,aRect.Top+z-1); Rectangle(r); Brush.Style := bsClear; TextOut(aRect.Left+z+z,aRect.Top+1,s); end; end; end; mfg Tobias |
Re: Eigene Farblistbox
ok, danke erstmal, ich hoffe, dass ich das irgendwie nachvollziehen kann, da ich es ja noch modifizieren muss.
was ich aber noch nicht ganz verstehe ist, die VAR-Deklaration hm, werds wohl irgendwie hinbekommen |
Re: Eigene Farblistbox
Hallo !
Leider funktioniert es bei mir überhaupt nicht, da der Compiler aRect nicht kennt. Ich habe dann aRect in Rect geändert und der Compiler kommt nun schon ein Stück weiter, aber in der Zeile r := Rect(Rect.Left+1,Rect.Top+1,Rect.Left+z-1,Rect.Top+z-1); meckert er, dass ihm ein Operator oder ein Semikolon fehlt. Was mache ich nur Falsch??? |
Re: Eigene Farblistbox
:hi:
Ich ändere immer in der Definition Rect : TRect durch aRect aus, da ich ja manchmal die Funktion Rect brauche.
Code:
procedure TMainForm.ListBoxDrawItem(Control: TWinControl; Index: Integer;
[b]aRect[/b]: TRect; State: TOwnerDrawState); mfg Tobias |
Re: Eigene Farblistbox
Hallo Tobias!
jetzt kann ich das Projekt compilieren, aber die listbox ist komplett leer! Wo muss ich denn nun die farbcodes und die farbnamen dazu deklarieren? |
Re: Eigene Farblistbox
:hi: Tom
einfach Items mit den Farben füllen. mfg Tobias |
Re: Eigene Farblistbox
Jo, danke es hat gefunzt.
Nun habe ich endlich eine Farblistbox mit allen möglichen I-Net-Farben! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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