Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Fijar tamaño máximo y mínimo a un Form (https://www.clubdelphi.com/foros/showthread.php?t=80549)

Neftali [Germán.Estévez] 30-06-2006 13:08:02

Fijar tamaño máximo y mínimo a un Form
 
Cómo fijar tamaños máximo y minimo a un form (< D4).

Aunque D4 ya viene provisto de propiedades para manejar los tamaños máximo y mínimo de un Form en D3 sigue teniendo que hacerse a pelo. La base de tal característica reside en responder a un mensaje windows que manda el sistema al form cuando el usuario realiza un 'estirado' del mismo. El mensaje se llama WM_GETMINMAXINFO y su lParam apunta a una estructura tipo TMinMaxInfo que debe rellenarse con la información necesaria.

La estructura MinMaxInfo contiene los siguientes campos :

Código Delphi [-]
typedef struct tagMINMAXINFO {  // mmi

    POINT ptReserved;
    POINT ptMaxSize;
    POINT ptMaxPosition;
    POINT ptMinTrackSize;
    POINT ptMaxTrackSize;

} MINMAXINFO;

Ejemplo de utilización, primero declaramos la procedure :

Código Delphi [-]
TForm1=class(TForm)
  ...
  private
  ...
  procedure WMGetMinMaxInfo(var MSG: Tmessage); message WM_GetMinMaxInfo;
end;

luego su codificación :

Código Delphi [-]
procedure TForm1.WMGetMinMaxInfo(var MSG: Tmessage);
Begin
  inherited;
  with PMinMaxInfo(MSG.lparam)^ do with ptMinTrackSize do begin
    X := 539;
    Y := 358;
  end;
end;

Para responder ante un tamaño máximo, rellenariamos también la estructura ptMaxTrackSize


La franja horaria es GMT +2. Ahora son las 11:10:51.

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