Mega Code Archive

 
Categories / Delphi / Examples
 

How to intercept the maximize command

If you want to restrict your window's maximum size (or minimum size, for that matter), you may try to intercept WM_SYSCOMMAND and check for the value of wParam. More elegant is to intercept WM_GETMINMAXINFO, as the following example shows: type TMyForm = class(TForm) procedure _WM_GETMINMAXINFO( var mmInfo : TWMGETMINMAXINFO ); message wm_GetMinMaxInfo; end; //.. procedure TMyForm._WM_GETMINMAXINFO( var mmInfo : TWMGETMINMAXINFO ); begin with mmInfo.minmaxinfo^ do begin // allow at most half of the screen, and position it in the middle ptmaxposition.x := Screen.Width div 4; ptmaxposition.y := Screen.Height div 4; ptmaxsize.x := Screen.Width div 2; ptmaxsize.y := Screen.Height div 2; end; end; end.