INFO: Menu Operations When MDI Child Maximized
ID: Q71836
|
The information in this article applies to:
-
Microsoft Win32 Software Development Kit (SDK)
-
Microsoft Windows Software Development Kit (SDK) versions 3.0, 3.1
-
Microsoft Windows 2000
SUMMARY
Pop-up menus added to an MDI application's menu using InsertMenu() with
MF_BYPOSITION will be inserted one position further left than expected if
the active MDI child window is maximized. This behavior occurs because the
system menu of the active MDI child is inserted into the first position of
the MDI frame window's menu bar.
To avoid this problem, if the active child is maximized when a new pop-up
is inserted by position, add 1 (one) to the position value that would
otherwise have been used. To determine that the currently active child
window is maximized, send a WM_MDIGETACTIVE message to the MDI client
window. In 16-bit Windows, if the high word of the return value from this
message contains 1, the active child window is maximized. In Win32, you
need to pass a pointer to a BOOL in the lParam. If the child window is
maximized, then Windows will set the BOOL pointed to by the lParam to TRUE.
Additional query words:
Keywords : kbMDI kbMenu kbNTOS kbWinOS2000 kbSDKWin32 kbGrpUser kbWinOS kbWndw
Version : WINDOWS:3.0,3.1
Platform : WINDOWS
Issue type : kbinfo