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