<分区>
我正在测试 Windows API 的菜单状态(禁用、变灰、选中...),但有些东西我不明白。 documentation指出 MF_DISABLED
不会使项目变灰,但这是我得到的:
使用此代码:
HMENU menuBar = CreateMenu();
HMENU hopMenu = CreateMenu();
AppendMenuW(menuBar, MF_POPUP, (UINT_PTR)hopMenu, L"hop");
AppendMenuW(hopMenu, MF_STRING, 0, L"Enabled");
AppendMenuW(hopMenu, MF_STRING | MF_DISABLED, 1, L"Disabled");
AppendMenuW(hopMenu, MF_STRING | MF_GRAYED, 2, L"Grayed");
AppendMenuW(hopMenu, MF_STRING | MF_CHECKED, 3, L"Checked");
AppendMenuW(hopMenu, MF_STRING | MF_DISABLED | MF_CHECKED, 4, L"Disabled && Checked");
AppendMenuW(hopMenu, MF_STRING | MF_DISABLED | MF_GRAYED, 5, L"Disabled && Grayed");
AppendMenuW(hopMenu, MF_STRING | MF_CHECKED | MF_GRAYED, 6, L"Checked && Grayed");
SetMenu(hwnd, menuBar);
我怎样才能让一个禁用的菜单项不变灰呢?