How to intercept the maximize command (Views: 29)
Problem/Question/Abstract: How to intercept the maximize command Answer: 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. |