Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Scrollbar Horizontal en un ListBox (https://www.clubdelphi.com/foros/showthread.php?t=80758)

roman 07-09-2006 18:44:59

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.


La franja horaria es GMT +2. Ahora son las 10:38:50.

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