Nehmen wir mal den Code zur Hand und ändern den ein wenig :
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem
(Control: TWinControl;
Index: Integer;
Rect: TRect; State: TOwnerDrawState) ;
var
myColor: TColor;
myBrush: TBrush;
begin
myBrush := TBrush.Create;
with (Control
as TListBox).Canvas
do
begin
(* das machen wir raus
if not Odd(Index) then
myColor := clSilver
else
myColor := clYellow;
*)
// und das machen wir stattdessen rein
If InDB(
Index)
then // die Funktion InDB musst dann noch schreiben, diese schaut in der DB nach und gibt True zurück wenn der Item in der DB gefunden wurde
myColor := clYellow
else
myColor := clWhite;
myBrush.Style := bsSolid;
myBrush.Color := myColor;
Windows.FillRect(
handle, Rect, myBrush.Handle) ;
Brush.Style := bsClear;
TextOut(Rect.Left, Rect.Top,
(Control
as TListBox).Items[
Index]) ;
MyBrush.Free;
end;
end;