This example uses WinIsMenuItemEnabled to determine if a selected menu item is available for use. If the item is not valid (WinIsMenuItemValid) or not enabled, a beep is emitted.

#define INCL_WINMESSAGEMGR      /* Window Message Functions      */
#define INCL_WINMENUS           /* Window Menu Functions         */
#define INCL_DOSPROCESS         /* OS/2 Process Functions        */
#include <os2.h>

MPARAM  mp1;                    /* Parameter 1 (rectl structure) */
MPARAM  mp2;                    /* Parameter 2 (frame boolean)   */
USHORT  usItemId;               /* Menu item ID                  */
HWND    hwndMenu;               /* Menu handle                   */

case WM_MENUSELECT:
     usItemId = SHORT1FROMMP(mp1);
     hwndMenu = HWNDFROMMP(mp2);

     /* If the menu item is not valid or enabled, emit a beep */
     if (!WinIsMenuItemValid(hwndMenu, usItemId) ||
         !WinIsMenuItemEnabled(hwndMenu, usItemId))
        DosBeep(800,100L);


[Back] [Next]