@Mathias:
Genau das hatte ich ja erfolglos versucht. Mein Code war folgender:
Code:
[b]procedure[/b] TForm1.ListBox1MeasureItem(Control: TWinControl; Index: Integer; [b]var[/b] Height: Integer);
[b]begin[/b]
[b]If[/b] (Control [b]is[/b] TListBox) [b]Then[/b]
[b]Begin[/b]
[b]If[/b] (Index = TListBox(Control).ItemIndex) [b]Then[/b]
Height:= 50
[b]Else[/b]
Height:= 20;
[b]End[/b];
[b]End[/b];
[b]procedure[/b] TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
[b]begin[/b]
[b]If[/b] (Control [b]is[/b] TListBox) [b]Then[/b]
[b]Begin[/b]
[b]With[/b] TListBox(Control).Canvas [b]Do[/b]
[b]Begin[/b]
[b]If[/b] (odSelected [b]in[/b] State) [b]Then[/b]
[b]Begin[/b]
Font.Color:= clWhite;
Font.Style:= [fsBold];
Font.Size:= 12;
Brush.Color:= clNavy;
[b]End[/b]
[b]Else[/b]
[b]Begin[/b]
Font.Color:= clNavy;
Font.Style:= [];
Font.Size:= 12;
Brush.Color:= clWhite;
[b]End[/b];
FillRect( Rect );
TextOut( Rect.Left, Rect.Top, TListBox(Control).Items[Index] );
[b]End[/b];
[b]End[/b];
[b]end[/b];
Der selektierte Eintrag soll also mit einer Höhe von 50 Pixeln erscheinen, alle anderen mit einer Höhe von 20 Pixeln. Ungeachtet meiner Bemühungen ist trotz allem die Eigenschaft "ItemHeight" der ListBox ausschlaggebend.
Grüße,
Daniel
Daniel R. Wolf