Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ingresar datos en un listbox a la derecha (https://www.clubdelphi.com/foros/showthread.php?t=76276)

CarlosAlberto 20-10-2011 17:10:14

Ingresar datos en un listbox a la derecha
 
Estimados miembros del Club:¿cómo puedo ingresar datos en un listbox y que se ubiquen en el margen derecho de éste?
Gracias y saludos
Carlos Alberto

Caro 20-10-2011 17:22:35

Hola CarlosAlberto, puedes utilizar el evento OnDrawItem de tu Listbox y la función DrawText para dar formato al texto:

Código Delphi [-]
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
 aItem : String;
begin
 aItem := ListBox1.Items[Index];
 DrawText(ListBox1.Canvas.Handle, PChar(aItem), StrLen(PChar(aItem)), Rect, DT_RIGHT);
end;

La propiedad Style del ListBox en lbOwnerDrawFixed.

Saluditos

Caminante 20-10-2011 17:38:59

En el listbox pon la propiedad style en lbOwnerDrawFixed y en el evento ondrawitem pon esto

Código Delphi [-]
 
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
VAR
  Texto :string;
begin
  with Tlistbox(Control)do
  begin
    Texto:=items[index];
    canvas.FillRect(rect);
    inflaterect(rect,-2,-2);
    drawtext(canvas.Handle,pchar(texto),-1,rect,DT_RIGHT or DT_VCENTER)
  end;

Espero que te sirva.

Saludos

CarlosAlberto 21-10-2011 13:59:13

Estimado Caminante: funcionó lo de colocar el texto numérico en el margen derecho pero los números se ven cortados por la mitad en cada fila del Listbox. Se ve el número de la mitad para arriba. ¿Cómo lo soluciono?

CarlosAlberto 21-10-2011 14:10:54

Estimada Caro: los códigos que me enviaste funcionó bien.
Muchas Gracias.
Saludos.
Carlos Alberto
Paraná - Entre Ríos - Argentina


La franja horaria es GMT +2. Ahora son las 14:57:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi