grumonof.c

来自「Windows 3.0 programming primer / Alan So」· C语言 代码 · 共 38 行

C
38
字号
void GrayUMonoff(hwnd, n, wItem)          /* FILENAME: GRUMONOF.C */
HWND hwnd;
int n;
WORD wItem;
{
    int i;
    WORD wFlags;
    HMENU hMenu, hSubMenu;
    static BOOL bFirst = TRUE;
    static WORD item[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1};

 /* This routine assumes that the intial state of each menu item
    is enabled (you haven't used GRAYED in the .RC file).     */

    hMenu = GetMenu(hwnd);
    if(item[n] == -1)
    {
        EnableMenuItem(hMenu, wItem, MF_GRAYED);
        item[n] = wItem;
        return;
    }

    hSubMenu = GetSubMenu(hMenu, n);
    wFlags = GetMenuState(hSubMenu, item[n], MF_BYPOSITION);
    if(wFlags & MF_GRAYED)
    {
        EnableMenuItem(hMenu, wItem, MF_GRAYED);
        EnableMenuItem(hMenu, item[n], MF_ENABLED);
    }
    else
    {
        EnableMenuItem(hMenu, wItem, MF_ENABLED);
        EnableMenuItem(hMenu, item[n], MF_GRAYED);
    }

    item[n] = wItem;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?