Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 67


Рассмотрим параметры сообщения WMSYSMENUSELECT более под­робно. В младшем слове wParam оконная процедура получает сведения о том, какой элемент стал подсвеченным. Если учесть, что макросы LOWORD() и HIWORDO выделяют соответственно младшее и старшее слово 32-битного аргумента, и назвать источник сообщения ultem, то можно записать:

ultem = (UINT) LOWORD(wParam);

В зависимости от обстоятельств смысл ultem различается:

если подсвеченный элемент является конечным и не влечет за собой вызов popup-меню, то ultem содержит идентификатор элемента меню;

если подсвеченный элемент при выборе влечет за собой вызов popup-меню, то ultem содержит номер (индекс) этого элемента в том меню, в котором оно находится;

В старшем слове wParam содержатся характеристики подсвеченного элемента. Аналогично предыдущему,

fuFlags - (UINT) HIWORD(wParam);

Возможные значения fuFlags приведены в табл. 15.

78

Таблица 15. Характеристики подсвеченного элемента меню

Флаг

Знамение

 

Описание

 

MFJ3ITMAP

 

Ox00000004L

 

Вместо строки в качестве элемента меню

 

 

 

 

 

применяется bitmap

 

MF CHECKED

 

OxOOOOOOOSL

 

Элемент отмечаемый (со «значком»)

 

MF DISABLED

 

Ox00000002L

 

Элемент запрещен

 

MF_GRAYED

 

0x0000000 IE

 

Элемент запрещен и отображается серым

 

 

 

 

 

цветом

 

MF HILITE

 

OxOOOOOOSOL

 

Элемент подсвечен

 

MF MOUSESELECT

 

OxOOOOSOOOL

 

Элемент выбран мышью

 

MF_OWNERDRAW

 

0x00000 100L

 

За прорисовку элемента отвечает не система,

 

 

 

 

 

а программа

 

MF_POPUP

 

0x000000 10E

 

Элемент вызывает появление рорчр-меню

 

 

 

 

 

более низкого уровня

 

MF SYSMENU

 

Ox00002000L

 

Элемент из системного меню

 

<


Начало  Назад  Вперед



Книжный магазин