Структура DRAWITEMSTRUCT
Структура DRAWITEMSTRUCT сведения окно-владелец следует определить как рисование определяемых пользователем элемент управления или пункта меню.
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
DWORD itemData;
} DRAWITEMSTRUCT;
Параметры
CtlType
Тип элемента управления. Значения для типов элементов управления следующим образом:Кнопку ODT_BUTTON определяемую пользователем
Поле со списком ODT_COMBOBOX определенное пользователем
Список ODT_LISTBOX определяемого пользователем
В меню ODT_MENU определенное пользователем
Управляет списком ODT_LISTVIEW
Статический элемент управления ODT_STATIC определяемого пользователем
Элемент управления TAB ODT_TAB
CtlID
Идентификатор элемента управления для поля со списком, списке или кнопки. Этот элемент не используется для меню.itemID
Идентификатор пункта меню для меню или индекса окна или поля со списком элементов в списке. Для пустых списка или поля со списком этот член отрицательное значение, которое позволяет приложению только рисование прямоугольника фокуса в координатах определенных членом rcItem хотя никакие элементы в элементе управления. Таким образом, пользователь может указать, имеет ли список или поле со списком фокус ввода. Параметр битов в элементе itemAction определяет, является ли прямоугольник быть выписанным, как если бы списка или поля со списком имеет фокус ввода.itemAction
Определяет требуется действие рисования. Это будет одно или несколько из следующих битов:ODA_DRAWENTIRE этот бит устанавливается, когда любой элемент управления должен быть выписанным.
ODA_FOCUS этот бит устанавливается, когда элемент управления получает или теряет фокус ввода. Элемент itemState должен быть установлен для определения, имеет ли элемент управления фокус.
ODA_SELECT этот бит имеет только при изменении состояния выделения. Элемент itemState должен быть установлен для определения нового состояния выделения.
itemState
Определяет визуальное состояние элемента после текущее действие рисования происходит. Это означает, что если пункт меню, затеняется, национальный флаг ODS_GRAYED устанавливается. Национальные флаги следующим образом:ODS_CHECKED этот бит устанавливается, если пункт меню быть отмеченным. Этот тип используется только в меню.
ODS_DISABLED этот бит имеет ли он быть выписанным как отключенного.
ODS_FOCUS этот бит устанавливается, если элемент имеет фокус ввода.
ODS_GRAYED этот бит имеет ли он быть затеняется. Этот тип используется только в меню.
Если этот бит ODS_SELECTED имеет состояние элемента выделяется.
ODS_COMBOBOXEDIT рисования происходит в поле выделения (элемент управления "Поле ввода") определяемого пользователем поля со списком.
Элемент ODS_DEFAULT элемент по умолчанию.
hwndItem
Определяет дескриптор окна элемента управления для поля со списком, списков и кнопок. Определяет дескриптор меню (HMENU), содержащее элемент для меню.hDC
Задает контекст устройства. Этот контекст устройства должны использоваться при выполнении операций рисования в элементе управления.rcItem
Прямоугольник в контексте конкретного устройства членом hDC, который определяет границы элемента управления, который требуется создать. Windows автоматически привязывает ничего рисования владельцем в контексте устройства для поля со списком, списков и кнопок, но не выполняет пункты меню отсечения. Рисования пункты меню, владелец не должен создавать за пределами границ прямоугольника указанного членом rcItem.itemData
Для поля со списком или списка этот элемент содержит значение, переданные в список одним из следующих:Для меню этот элемент содержит значение, переданные в меню одним из следующих:
Заметки
Окно-владелец определяемых пользователем элемента управления или пункта меню получает указатель на этой структуре как параметр lParam сообщения WM_DRAWITEM.
Требования
Header: winuser.h