Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#14
  Alt 4. Sep 2002, 08:32
@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
  Mit Zitat antworten Zitat