![]() |
Problem mit DrawItem bei Listbox
Hi,
ich möchte via DrawItem einer Listbox das aktuelle Lied markieren (der Hintergrund soll markiert werden). Nun habe ich aber das Problem, dass es bis zum nächsten Lied immer bleiben soll, auch wenn man ein anderes Item selektiert. Wie geht das ? Folgender Code macht verschiedene Sachen falsch, es ist allerdings bekomm ich die Fehlerbeschreibung hierbei nicht hin, da ich bisher noch kein Fehlerschema sehen konnte --> falls ihr den Fehler sowieso nicht sofort sehen solltet, könnt ihr es immernoch kurz selbst testen. TNoScrollListbox ist übrigens eine Ableitung einer TListbox und verhält sich genauso, bloß hat sie keine Scrollbar.
Delphi-Quellcode:
procedure TfrmMain.lbListDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState); begin with (Control as TNoScrollListBox).Canvas do begin if Index = last+1 then // last ist das zuletzt gespielte Lied begin Pen.Color := sLbLeft.Pen.Color; Brush.Color := sLbLeft.Brush.Color; end else begin Brush.Color := lbList.Color; end; FillRect(Rect); TextOut(Rect.Left + 2, Rect.Top, (Control as TNoScrollListBox).Items[Index]); end; end; |
Re: Problem mit DrawItem bei Listbox
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich habe ein bisschen Code angehängt, da ich nicht genau wusste was du meintest, habe ich gleich 2 verschiedene Versionen erstellt. Bei der einen musst du erst die Sternchen mit der Klammer entfernen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 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