Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Acerca del tamaño de los formularios y la escalabilidad (https://www.clubdelphi.com/foros/showthread.php?t=75627)

Madset 08-09-2011 19:36:08

Acerca del tamaño de los formularios y la escalabilidad
 
Hola
Soy nuevo por acá pero recurro a ustedes para solucionar un problema con una aplicación que estoy desarrollando.
En mi diseño tengo un formulario principal en donde hay un treeview y un panel y varios formularios secundarios. Al seleccionar un elemento del Treeview del formulario principal se muestra en el panel los formularios secundarios los cuales tienen información de gráficas y tablas conectadas a bases de datos. De esta manera el usuario siempre ve en la misma ventana la información que necesite. Dentro de los formularios hay pagecontrols donde esta la información antes mencionada.
Mi problema es el siguiente:
Cuando el usuario redimensiona la ventana principal de la aplicación donde esta el treeview y el panel que muestra los otros formularios, no aparece ninguna barra de desplazamiento y no se puede ver la información dentro del panel.

Quisiera saber como hago para que aparezcan las barras de desplazamiento cuando se cambia el tamaño de la ventana.

roman 08-09-2011 19:41:54

¿Y si en lugar de un panel pones un ScrollBox? Me parece que obtienes los mismos resultados pero con las barras de desplazamiento.

// Saludos

Madset 08-09-2011 21:27:30

Graicas por la respuesta Roman, ya cambié el panel por el ScrollBox pero aún así no apareció ninguna barra, ni en la ventana principal ni tampoco en el área donde esta el ScrollBox. Pienso que hay algo que estoy ignorando.

ecfisa 08-09-2011 21:51:13

Hola Madset.

Si no aparecieron las ScrollBars es por que es suficiente el tamaño del ScrollBox para mostrar todo su contenido y no se necesita desplazamiento alguno.

Ahora si lo que buscas es que sí o sí se muestren podés hacer:
Código Delphi [-]
type
 TScrollBox = class(Forms.TScrollBox)
 private
    procedure WMNCCalcSize(var Message: TMessage); message WM_NCCALCSIZE;
 end;
 ....

implementation

procedure TScrollBox.WMNCCalcSize(var Message: TMessage);
var
  Style: Integer;
begin
  Style:= GetWindowLong(Handle, GWL_STYLE);
  SetWindowLong(Handle, GWL_STYLE,Style or WS_HSCROLL or WS_VSCROLL);
  inherited;
end;

Saludos.


La franja horaria es GMT +2. Ahora son las 17:13:11.

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