How to Disable the Move System Menu Item?
- by Andreas Rejbrand
In Microsoft Windows, this works:
mnu := GetSystemMenu(h, false);
EnableMenuItem(mnu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
But this does not work:
mnu := GetSystemMenu(h, false);
EnableMenuItem(mnu, SC_MOVE, MF_BYCOMMAND or MF_GRAYED);
Hence I know how to disable the "Close" system menu item of a window, but not the "Move" item. How do I do that?
Update
Of course one alternative to using the very nice function EnableMenuItem, is to use SetMenuItemInfo:
FillChar(info, sizeOf(info), 0);
with info do
begin
cbSize := sizeOf(info);
fMask := MIIM_STATE;
fState := MFS_GRAYED;
end;
SetMenuItemInfo(mnu, SC_MOVE, false, info);
But this again works perfectly for SC_CLOSE, but not at all for SC_MOVE!