User and Graphics Device Interface Objects, страница 16

Если любой параметр hbmUnchecked или hbmChecked - NULL, Windows ничто не отображает рядом с пунктом меню для соответствующего отмеченного состояния. Если оба параметра - NULL, Windows отображает заданный по умолчанию растр галочки, когда пункт отмечен и удаляет растр, когда пункт не отмечен.

Когда меню разрушено, эти растры не разрушаются;

Windows NT: функция GetMenuCheckMarkDimensions отыскивает размерность заданной по умолчанию галочки, используемой для пунктов меню. Эти значения используются, чтобы определить соответствующий размер растров, предоставляемых вместе с этой функцией.

Windows 95: GetMenuCheckMarkDimensions устаревает. Используйте GetsystemMetrics со значениями CXMENUCHECK и CYMENUCHECK, чтобы отыскать растровые размерности.

См. Также

GetMenu, GetMenuCheckMarkDimensions

WM_DRAWITEM

IdCtl = (UINT) wParam; // управляет идентификатором

Lpdis = (LPDRAWITEMSTRUCT) lParam; // информация по отображению пункта

WM_DRAWITEM сообщение посылается окну владельца  нажатой владельцем кнопки, комбинированного списка, окна списка или меню, когда визуальный аспект кнопки, комбинированного списка, окна списка или меню изменился.

Параметры

idCtl

Значение wParam. Определяет идентификатор управления, который посылает WM_DRAWITEM сообщение. Если сообщение было послано меню, этот параметр - нуль.

lpdis

Значение lParam. Указывает на структуру DRAWITEMSTRUCT, содержащую информацию относительно пункта, который будет выведен и тип  требуемого рисунка.

Возвращаемое значение

Если приложение обрабатывает это сообщение, то должно возвращаться TRUE.

Действие заданное по умолчанию

Функция DefWindowProc рисует центральный прямоугольник в области окна списка владельца.

Замечания

Элемент ItemAction структуры DRAWITEMSTRUCT определяет операцию рисования, которую приложение должно выполнить.

Перед возвратом из обработки этого сообщения, приложение должно гарантировать, что контекст устройства, идентифицированный hDC элементом структуры DRAWITEMSTRUCT находится в заданном по умолчанию состоянии.

См. Также

DefWindowProc, DRAWITEMSTRUCT

WM_MEASUREITEM

IdCtl = (UINT) wParam; // управляет идентификатором

Lpmis = (LPMEASUREITEMSTRUCT) lParam; // информация о размере пункта

Сообщение WM_MEASUREITEM посылается окну владельца отжатой владельцем кнопки, комбинированного списка, окна списка, элемента управления просмотра списка или пункта меню, при их создании.

Параметры

idCtl

Значение wParam. Содержит значение элемента CtlID структуры MEASUREITEMSTRUCT, указанной параметром lpmis. Это значение идентифицирует управление, которое посылает WM_MEASUREITEM сообщение.

Если значение - нуль, сообщение было послано меню. Если значение отлично от нуля, сообщение было послано комбинированным списком или окном списка. Если значение отлично от нуля, и значение элемента itemID MEASUREITEMSTRUCT, указывающего на lpmis -1 (UINT), сообщение было послано полем редактирования combo.

lpmis

Значение lParam. Указывает на структуру MEASUREITEMSTRUCT, которая содержит размерности отжатого владельцем элемента управления или пункта меню.

Возвращаемое значение

Если приложение обрабатывает это сообщение, то должно возвращаться TRUE.

Замечания

Когда окно владельца получает сообщение WM_MEASUREITEM, владелец заполняет структуру MEASUREITEMSTRUCT, указанную на параметром lParam сообщения и возвращает ее; это сообщает Windows о размерности элементов управления. Если окно списка или комбинированный список создано со LBS_OWNERDRAWVARIABLE или CBS_OWNERDRAWVARIABLE стилем, это сообщение посылается владельцу для каждого пункта в элементе управления; иначе, это сообщение посылается один раз.