PDA

Ver la Versión Completa : Alinear elementos de un ListBox


Tecnic2
03-01-2005, 12:56:28
Hola a todos,

Quisiera saber si se puede alinear los elementos de un ListBox, por defecto los inserta y alinea a la izquierda de la lista.
Me interesa alinearlos a la derecha, ya que son valores y queda mas ordenado.

Muchas gracias por adelantado.

JavierB
03-01-2005, 13:48:43
Hola Tecnic2

Pon la propiedad Style del ListBox a lbOwnerDrawFixed y en el evento OnDrawItem pones este código:

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
InflateRect(Rect,-5,0);
with ListBox1 do
DrawText(Canvas.Handle,PChar(Items[Index]),-1,Rect,DT_RIGHT);
end;

La línea InflateRect(Rect,-5,0); es para que no quede demasiado pegado a la derecha. Cambia el -5 por el valor que prefieras.

Saludos, :cool:

Tecnic2
05-01-2005, 17:02:50
Muchas gracias, es exactamente lo que queria ;-)

Hasta otra!