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.
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;