Поделиться через


Структура 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

См. также

Ссылки

CWnd::OnDrawItem

Другие ресурсы

Структуры, стили, обратные вызовы и схемы сообщений