// Um Bilder in den einzelnen Einträgen einer Combobox anzeigen zu können,
// setzt man zunächst die Combobox und dann eine Imageliste auf die Form.
// Die Imageliste wird doppelt angeklickt und in dem dadurch erschienenen
// Dialog über den Button
Hinzufügen die benötigte Anzahl der Bitmaps und/oder
// Icons geladen. Die Anzeige der Bilder wird im Ereignis
OnDrawItem realisiert.

// Getestet mit D4 unter WinME
 

const 
  abstand = 2; // je nach Bedarf 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
// ---- z.B. ----------------- 
  combobox1.items[0] := 'Zeile 1'; 
  combobox1.items[1] := 'Zeile 2'; 
  combobox1.items[2] := 'Zeile 3'; 
  combobox1.items[3] := 'Zeile 4'; 
  combobox1.items[4] := 'Zeile 5'; 
// --------------------------- 
  combobox1.itemindex := 0; 
  combobox1.Style := csOwnerDrawFixed; 
  combobox1.ItemHeight := imagelist1.height + abstand; 
end; 
 
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; 
  Rect: TRect; State: TOwnerDrawState); 
begin 
  Combobox1.Canvas.FillRect(Rect); 
  ImageList1.Draw(Combobox1.Canvas, Rect.left + abstand, 
    Rect.Top + abstand div 2, index); 
  Rect.Left := Rect.Left + ImageList1.Width + abstand * 2; 
  DrawText(Combobox1.Canvas.Handle, PChar(combobox1.items[index]), 
    length(combobox1.items[index]), Rect, 
    DT_VCENTER or DT_SINGLELINE); 
end;



Zugriffe seit 6.9.2001 auf Delphi-Ecke