DRAWITEMSTRUCT-Struktur
Die DRAWITEMSTRUCT-Struktur enthält Informationen, die das Besitzerfenster bestimmen muss, wie ein Ownerdrawnsteuerelement oder -Menüelement zeichnet.
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
DWORD itemData;
} DRAWITEMSTRUCT;
Parameter
CtlType
Der Steuerelementtyp. Die Werte für Steuerelementtypen sind, wie folgt:ODT_BUTTON Ownerdrawnschaltfläche
ODT_COMBOBOX Ownerdrawnkombinationsfeld
Ownerdrawn Listenfeld ODT_LISTBOX
ODT_MENU Ownerdrawnmenü
ODT_LISTVIEW ListView-Steuerelement
ODT_STATIC Ownerdrawnstatisches Kartensteuerelement
Registersteuerelement ODT_TAB
CtlID
Die Steuerelement-ID für ein Kombinationsfeld, ein Listenfeld oder eine Schaltfläche. Dieser Member wird nicht für ein Menü verwendet.itemID
Die ID für Menüelement ein Menü oder Index des Elements in einem Listenfeld oder einem Kombinationsfeld. Ein leeres Listen- oder Kombinationsfeld ist dieser Member ein negativer Wert, der die Anwendung ermöglicht, nur das Fokusrechteck an den Koordinaten zu zeichnen, die vom rcItem-Member angegeben werden, obwohl keine Elemente im Steuerelement gibt. Der Benutzer kann so angezeigt werden, dass das Listenfeld oder Kombinationsfeld das den Eingabefokus hat. Die Einstellung der Bits im itemAction-Member bestimmt, ob das Rechteck gezeichnet werden soll, als wenn das Listenfeld oder das Kombinationsfeld Eingabefokus hat.itemAction
Definiert die erforderlich Zeichnungsaktion. Dies ist eine oder mehrere folgenden Bits:ODA_DRAWENTIRE dieses Bit ist und das gesamte Steuerelement gezeichnet werden festgelegt.
ODA_FOCUS dieses Bit wird festgelegt, wenn das Steuerelement den Eingabefokus erhält bzw. verliert. Der itemState-Member sollte überprüft werden, um zu bestimmen, ob das Steuerelement den Fokus besitzt.
ODA_SELECT dieses Bit wird festgelegt, wenn nur der Auswahlstatus geändert wurde. Der itemState-Member sollte überprüft werden, um den neuen Auswahlzustand zu bestimmen.
itemState
Gibt den visuellen Zustand des Menüelements an, nachdem die aktuelle Zeichnungsaktion stattfindet. Das bedeutet, dass, wenn ein Menüelement abgeblendet werden soll, wird das Zustandsflag ODS_GRAYED festgelegt. Die Zustandsflags sind, wie folgt:ODS_CHECKED dieses Bit wird festgelegt, wenn das Menüelement überprüft werden soll. Dies Ausführungsbits wird nur in einem Menü.
ODS_DISABLED dieses Bit wird festgelegt, wenn das Element als deaktiviertem gezeichnet werden soll.
ODS_FOCUS dieses Bit wird festgelegt, wenn das Element Eingabefokus hat.
ODS_GRAYED dieses Bit wird festgelegt, wenn das Element abgeblendet werden soll. Dies Ausführungsbits wird nur in einem Menü.
ODS_SELECTED dieses Bit wird festgelegt, wenn der Status des Elements ausgewählt ist.
ODS_COMBOBOXEDIT die Zeichnungen wird auf dem Auswahlgebiet (Bearbeitungssteuerelement) eines Ownerdrawnkombinationsfelds statt.
ODS_DEFAULT das Element wird der Standardmember.
hwndItem
Gibt das Fensterhandle des Steuerelements für Kombinationsfelder, Listenfelder und Schaltflächen. Gibt dem Handle des Menüs angezeigt (HMENU) das Element für Menüs enthält.hDC
Bezeichnet einen Gerätekontext. Dieser Gerätekontext muss verwendet werden, wenn Sie Zeichenvorgänge auf dem Steuerelement ausführt.rcItem
Ein Rechteck im Gerätekontext angegeben Member vom hDC, der die Grenzen des zu zeichnenden Steuerelements definiert. Windows kreuzt automatisch alle die Ownerdrawns im Gerätekontext für Kombinationsfelder, Listenfelder und Schaltflächen ab, aber entfernt nicht Menüelemente ab. Wenn Sie Menüelemente zeichnet, darf der Besitzer nicht außerhalb der Grenzen des Rechtecks zeichnen, das vom rcItem-Member definiert wird.itemData
Für ein Kombinations- oder Listenfeld enthält dieser Member den Wert, der dem Listenfeld durch eine der folgenden Zeichenfolgen übergeben werden:Ein Menü enthält dieser Member den Wert, der im Menü durch eine der folgenden Zeichenfolgen übergeben werden:
Hinweise
Das Besitzerfenster des Ownerdrawnsteuerelements oder -Menüelements erhält einen Zeiger auf diese Struktur als Parameter der lParam der WM_DRAWITEM Meldung.
Anforderungen
Header: winuser.h