Контрольная работа: Сообщения меню приложения Windows
Параметры:
hWnd - хэндл окна, которое имеет меню.
Возвращаемое значение: при успешном выполнении - TRUE, иначе - FALSE.
Например. Создадим окно, которое содержит основное меню (рис.1). Основное меню окна состоит из двух всплывающих меню: "File" и "Help". В первом всплывающем меню находятся два элемента, "Enable exit" и "Exit", во втором - один элемент, "About", который остается запрещенным в течение всего периода существования окна. Кроме этого, элемент "Exit" при запуске объявляется "серым", т.е. из программы можно выйти только через системное меню. Однако в случае выбора элемента "Enable exit" "Exit" становится обычным, а вместо "Enable exit" возникает "Disable exit" и наоборот.
Тогда в функцию WinMain () необходимо добавить:
const IDM_Enable_Disable = 0;
const IDM_Exit = 1;
const IDM_About = 2;
……
HMENU hMenu,hFileMenu,hHelpMenu;
hFileMenu=CreatePopupMenu ();
AppendMenu (hFileMenu,MF_ENABLED | MF_STRING, IDM_Enable_Disable, "&Enable exit");
AppendMenu (hFileMenu, MF_GRAYED | MF_STRING, DM_Exit,"E&xit");
hHelpMenu=CreatePopupMenu ();
AppendMenu (hHelpMenu,MF_DISABLED | MF_STRING, IDM_About, "&About");
hMenu = CreateMenu ();
AppendMenu (hMenu, MF_ENABLED | MF_POPUP, (UINT) hFileMenu, "&File");
AppendMenu (hMenu, MF_ENABLED | MF_POPUP, (UINT) hHelpMenu,"&Help");
SetMenu (hWnd, hMenu);
/*Прорисовка окна и меню*/
ShowWindow (hWnd, nCmdShow);
UpdateWindow (hWnd);
DrawMenuBar (hWnd);
……. .
/*Добавляемый фрагмент в WndProc */
static UINT nFlag = MF_ENABLED;
char* pContent [] =
{