2009. március 1., vasárnap
How to intercept the maximize command
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.
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése