Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   ScrollBar sin barras de desplazamiento (https://www.clubdelphi.com/foros/showthread.php?t=82862)

rruffino 19-04-2013 20:50:01

ScrollBar sin barras de desplazamiento
 
Hola gente, buenas tardes. Tengo un scrollbox a la cual le estoy metiendo varios componentes alineados a la izquierda dentro de él... Lo que necesito hacer es mediante dos botones que esten fuera del scrollbox poder mover el scrool horizontal hacia la izquierda y/o derecha) para ir viendo los distintos componentes que he puesto. Lo que necesito es que la barra horizontal de desplazamiento no se vea, por eso el uso de los dos botones fuera del scrollbox.
Lo que he hecho es poner justamente la barra horizontal como no visible y en los botones modifico la posicion, pero no resulta...

Desde ya agradezco si alguien puede darme una mano.
Gracias!!!

ecfisa 19-04-2013 22:34:48

Hola rruffino.

Para el ejemplo agrega cuatro buttons (Left, Right, Up, Down).
Código Delphi [-]
...
implementation

const
   DELTA = 10;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with SCrollBox1 do
  begin
    HorzScrollBar.Visible := False;
    VertScrollBar.Visible := False;
  end;
end;

procedure TForm1.btnScrollRightClick(Sender: TObject);
begin
  TWinControl(ScrollBox1).ScrollBy(DELTA, 0);
end;

procedure TForm1.btnScrollLeftClick(Sender: TObject);
begin
  TWinControl(ScrollBox1).ScrollBy(-DELTA, 0);
end;

procedure TForm1.btnScrollDownClick(Sender: TObject);
begin
   TWinControl(ScrollBox1).ScrollBy(0, DELTA);
end;

procedure TForm1.btnScrollUpClick(Sender: TObject);
begin
   TWinControl(ScrollBox1).ScrollBy(0, -DELTA);
end;

Saludos.

rruffino 22-04-2013 13:14:36

Respuesta..
 
Hola ecfisa, gracias por la respuesta.
Te comento, he creado un formulario para probarlo, pero no funciona. He puesto un panel alineado al fondo (bottom), dentro de este panel he puesto los botones para moverme hacia la izquierda alineado a la izquierda y el boton para correrme a la derecha alineado a la derecha.. He puesto el scrollbox alineado atClient y dentro del scroll he puesto varios componentes para probar....
He copiado el código que me has pasado y al probarlo no puedo hacerlo mover.
Cualquier otra sugerencia, bienvenida sea.
Muchas gracias nuevamente...

ecfisa 22-04-2013 17:56:39

1 Archivos Adjunto(s)
Hola rrufino.

Te adjunto un demo funcionando correctamente y acorde a las especificaciones de tu último mensaje para que así puedas localizar donde esta el error.

Saludos.

rruffino 25-04-2013 04:02:56

Respuesta
 
Hola ecfisa, nuevamente gracias por tu respuesta...
Te comento, he probado tu código y funciona al pelo... deja de funcionar cuando los componentes que puse dentro del scrollbox los alineo. Por ejemplo, dentro del scroll puse 3 paneles y los alinee a la izquierda, en ese caso deja de funcionar, caso contrario funciona. Pero justamente necesito tenelos acomodados a la izquierda, se podra?
Saludos, Román.-


La franja horaria es GMT +2. Ahora son las 02:24:22.

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