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 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