Einzelnen Beitrag anzeigen

Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

ListBox Weiterentwicklung

  Alt 28. Mai 2004, 09:21
Hallo erstmal,
ich habe eine Frage zur Komponentenentwicklung.Und zwar weiß ich das man mit folgendem Source die Farbe des Markierungsrahmens einer ListBox ändert nur würde ich gerne mir ne eigene Komponente schreiben die eine weitere Eigenschaft DrawColor besitzt und nach dieser Farbe wird dann der Rahmen angepasst.Kann mir jemand sagen wie dies funktioniert.Wäre echt klasse,
Danke schonmal im voraus.Übrigens die Eigenschaft hinzugefügt habe ich schon nur eben das setzen des Rahmens klappt nicht.
MFG Alex

Die Eigenschaft „Style" auf „lbOwnerDraw*" setzen und folgende Zeilen ins OnDrawItem-Ereignis schreiben:
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListbox) do
  begin
    if odSelected in State then //Prüft, ob ein Item markiert ist
      Canvas.Brush.Color := clRed; //Canvas-Hintergrundfarbe auf Rot setzen
    Canvas.FillRect(Rect); //schön ausmalen
    Canvas.TextOut(Rect.Left, Rect.Top, Items[Index]); //Text drüberpinseln
  end;
end;
[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat