Ver Mensaje Individual
  #1  
Antiguo 07-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Scrollbar Horizontal en un ListBox

Para colocar una barra de desplazamiento horizontal en un ListBox, de manera que puedan verse las entradas largas puede aplicarse el siguiente procedimiento:

Código Delphi [-]
procedure SetHorizontalScrollBar(ListBox: TListBox);
var
  W, I: Integer;

begin
  with ListBox do
  begin
    W := ClientWidth;

    for I := 0 to Items.Count - 1 do
      if W < Canvas.TextWidth(Items[i]) then
        W := Canvas.TextWidth(Items[i]);

    if W > ClientWidth then
      Inc(W, 4);

    Perform(LB_SETHORIZONTALEXTENT, W, 0);
  end;
end;

La barra sólo se coloca si hay entradas más largas que el ancho del control.

Este procedimiento se aplicaría cada vez que ocurra un cambio en el ListBox, como inserción, remoción o modificación de entradas.
Responder Con Cita