Das macht absolut kein Sinn wie du es machst.
OnDraw ist eine Prozedur die so lange aufgerufen wird, wie Elemente in der Listbox sind.
Es geht also alle durch.
Versuch es mal folgendermaßen:
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var iihnhalt: integer;
begin
with (Control as TListBox).Canvas do
begin
FillRect(rect);
iihnhalt:= strtoint(listbox2.Items[Index]);
If Index = iihnhalt then
Font.Style:= [fsbold]
else
Font.Style:= [];
TextOut(Rect.Left+2, Rect.Top, listbox1.Items[index]);
end; //with
end;
EDIT : Habs getestet, das funzt so
Ist doch auch gleich viel angenehmer der Code oder?