rechtsbündiger Text in Listbox

Hallo,

ich trage in meine Listbox Dezimalwerte ein, die bei linksbündiger Ausrichtung nicht besonders schön anzuschauen sind. Bis jetzt sind alle meine Versuche, den Text in der Listbox rechtsbündig auszurichten gescheitert.

Weiß jemand, wie das geht?

Danke Ebi

Hallo Ebi,

[…] Listbox rechtsbündig auszurichten […]

Also, zuerst sagst Du Deiner Listbox, dass sie eine Owner-Draw-Listbox ist:

Procedure TForm1.FormCreate(Sender: TObject);
Begin
 ...
 listbox1.style := lbOwnerDrawFixed;
 ...
End;

Das geht natürlich auch im Objektinspektor. Dann für DrawItem eine Behandlungsroutine schreiben:

Procedure TForm1.ListBox1DrawItem( Control: TWinControl;
 Index: Integer;
 Rect: TRect;
 State: TOwnerDrawState );
Var
 X : Integer;
Begin
 With ( Control as TListBox ) do Begin
 Canvas.FillRect( Rect );
 X := Rect.Right - Rect.Left -
 Canvas.TextWidth( Items.Strings[Index] ) - 2;
 Canvas.TextOut( X, Rect.Top, Items.Strings[Index] );
 End;
End;

Und fertig ist die Laube.

Gruß
Christian

Danke, das wars.