ID Number: Q75630
3.00
WINDOWS
Summary:
Many commercial applications developed for Windows allow the user to
customize the menus of the application. This ability introduces some
complexity when the application must disable particular menu items at
certain times. This article provides a method to perform this task.
More Information:
Windows sends a WM_INITMENUPOPUP message just before a pop-up menu is
displayed. The parameters to this message provide the handle to the
menu and the index of the pop-up menu on the main menu.
To process this message properly, each menu item must have a unique
identifier. When the application starts up, it creates a mapping array
that lists the items on each menu. When the WM_INITMENUPOPUP message
is received, the application checks the conditions necessary for each
menu item to be disabled or checked and modifies the menu
appropriately.
The application must maintain the mapping array when the user modifies
the menus in any way.