ВУЗ:
Составители:
24
Функция SetMenu связывает новое меню с заданным окном.
Параметры:
hWnd – идентифицирует окно, с которым должно быть связано меню.
hMenu – идентифицирует новое меню. Если этот параметр имеет значение NULL,
текущее меню окна удаляется.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения – не
ноль. Если функция не выполняет задачу, величина возвращаемого значения – ноль.
Чтобы получать расширенные данные об ошибках, вызовите GetLastError.
В листинге 5 представлен участок программного кода динамического
создания меню.
//Создание меню
int i;
HMenu=CreateMenu();
if (HMenu==NULL) return 1;
//Добавить "File"
i=AppendMenu(HMenu,MF_POPUP,M_FILE,"File");
if (i==0) return 1;
//Создать подменю "File"
HMENU h;
h=CreatePopupMenu();
i=AppendMenu(h,MFT_STRING,M_FILE1,"Новый");
if (i==0) return 1;
i=AppendMenu(h,MFT_STRING,M_FILE2,"Выход");
if (i==0) return 1;
//Добавить к меню
MENUITEMINFO mi;
mi.cbSize=sizeof(mi);
mi.fMask=MIIM_SUBMENU;
mi.hSubMenu=h;
i=SetMenuItemInfo(HMenu,M_FILE,false,&mi);
if (i==0) return 1;
//Добавление меню к окну
i=SetMenu(hWnd,HMenu);
if (i==0) return 1;
Листинг 5 – Динамическое добавление меню к окну
Создание меню должно происходить во время обработки сообщения
WM_CREATE. В программе hWnd – это дескриптор окна (HWND). M_FILE,
M_FILE1, M_FILE2 и HMenu должны быть объявлены ранее, например как
показано в листинге 6.
#define M_FILE 10001
Функция SetMenu связывает новое меню с заданным окном.
Параметры:
hWnd – идентифицирует окно, с которым должно быть связано меню.
hMenu – идентифицирует новое меню. Если этот параметр имеет значение NULL,
текущее меню окна удаляется.
Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения – не
ноль. Если функция не выполняет задачу, величина возвращаемого значения – ноль.
Чтобы получать расширенные данные об ошибках, вызовите GetLastError.
В листинге 5 представлен участок программного кода динамического
создания меню.
//Создание меню
int i;
HMenu=CreateMenu();
if (HMenu==NULL) return 1;
//Добавить "File"
i=AppendMenu(HMenu,MF_POPUP,M_FILE,"File");
if (i==0) return 1;
//Создать подменю "File"
HMENU h;
h=CreatePopupMenu();
i=AppendMenu(h,MFT_STRING,M_FILE1,"Новый");
if (i==0) return 1;
i=AppendMenu(h,MFT_STRING,M_FILE2,"Выход");
if (i==0) return 1;
//Добавить к меню
MENUITEMINFO mi;
mi.cbSize=sizeof(mi);
mi.fMask=MIIM_SUBMENU;
mi.hSubMenu=h;
i=SetMenuItemInfo(HMenu,M_FILE,false,&mi);
if (i==0) return 1;
//Добавление меню к окну
i=SetMenu(hWnd,HMenu);
if (i==0) return 1;
Листинг 5 – Динамическое добавление меню к окну
Создание меню должно происходить во время обработки сообщения
WM_CREATE. В программе hWnd – это дескриптор окна (HWND). M_FILE,
M_FILE1, M_FILE2 и HMenu должны быть объявлены ранее, например как
показано в листинге 6.
#define M_FILE 10001
24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »
