Unigui redimensionamiento automático de formularios

Muchas veces ocurre que al usar UniGUI y no contar con un sistema “responsive” nativo, los formularios no se ajustan como esperamos a la pantalla del cliente, a continuacion se presenta una solucion simple para este problema.

Una Solucion simple al problema de las dimensiones de los formularios

Primero debemos activar la propiedad AutoScroll, tambien debemos cambiar la propiedad Position a poScreenCenter esto permite que si el formulario tiene una dimension menor a la necesaria para mostrar su contenido, nos permita hacer scrolling. Nuestro siguiente problema es que UniGUI calcula las dimensiones de los formularios en tiempo de ejecucion “del lado del cliente”, asi que para resolver esto debemos implementar lo siguiente dentro del evento UniFormShow de nuestro formulario:

procedure TFormularioX.UniFormShow(Sender: TObject);
begin
  Constraints.MaxHeight := UniSession.UniApplication.ScreenHeight - 100;
  Top := 50;
end;

El numero 100 es arbitrario realmente y podriamos cambiarlo por otro valor fijo, o computarlo en relacion con otra propiedad de la dimension de la aplicacion del lado del cliente, el numero 50 que asignamos a la propiedad Top del formulario es para centrar verticalmente el formulario (100 / 2 = 50).