Владельцем меню и WM_DRAWITEM сообщение

Всякий раз, когда элемент должен сделать (например, при первом отображении или при выборе пользователем), система отправляет WM_DRAWITEM сообщение процедуре окна меню Окно-владелец. Это сообщение содержит указатель на структуру DRAWITEMSTRUCT , которая содержит сведения об элементе, включая данные элемента, которые приложения могут возложены на него. Кроме того DRAWITEMSTRUCT содержит флаги, определяющие состояние элемента (например, он является ли серым цветом или проверены), ограничивающий прямоугольник и контекст устройства, которые приложение использует для отрисовки элемента.

Приложение должно выполнить следующие действия при обработке сообщения WM_DRAWITEM:

  1. Определите тип рисунка, который необходим. Для этого проверьте itemAction член DRAWITEMSTRUCT структуры.
  2. Нарисуйте пункт меню надлежащим образом, с помощью ограничивающего прямоугольника и устройства контекста, полученные из структуры DRAWITEMSTRUCT . Приложение должно использовать только внутри ограничивающего прямоугольника. Для повышения производительности система не отсекать части изображения, которые находятся вне прямоугольника.
  3. Восстановление всех объектов GDI, отобранных для пункта меню контекста устройства.

Если пользователь выбирает пункт меню, система устанавливает itemAction член DRAWITEMSTRUCT структуры ODA_SELECT значение и задает значение ODS_SELECTED в itemState член. Это ключевые приложения для перерисовки пункт меню, чтобы указать, что она выбрана.

Index