Hallo,
ich habe ein Problem mit einer Combobox in der mit Hilfe einer ImageList für jeden Eintrag ein anderes Icon angezeigt werden soll. Das funktioniert auch soweit, aber mit einem Schönheitsfehler das immer das zuletzt benutzte Icon in allen Einträgen angezeigt wird. Erst wenn man mit dem Mauszeiger über die Einträge der aufgeklappten Combobox geht, wird das richtige Icon angezeigt.
Delphi-Quellcode:
procedure TFormMSEinrichten.ComboBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
Combobox1.Canvas.Brush.Color:= clWhite;
Combobox1.Canvas.FillRect(rect);
if ComboBox1.ItemIndex = 0 then
begin
ImageList1.Draw(ComboBox1.Canvas, rect.Left+2, rect.Top+3,1);
end;
if ComboBox1.ItemIndex = 1 then
begin
ImageList1.Draw(ComboBox1.Canvas, rect.Left+2, rect.Top+3,0);
end;
ComboBox1.Canvas.Font.Color:= clblack;
ComboBox1.Canvas.TextOut(32,rect.Top+4,Combobox1.Items[index]);
end;
Vielleicht kann einer von euch mir einen Tipp geben.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.