Freigeben über


DRAWITEMSTRUCT-Struktur (winuser.h)

Stellt Informationen bereit, die das Besitzerfenster verwendet, um zu bestimmen, wie ein vom Besitzer gezeichnetes Steuerelement oder Menüelement zu zeichnen ist. Das Besitzerfenster des vom Besitzer gezeichneten Steuerelements oder Menüelements empfängt einen Zeiger auf diese Struktur als lParam-Parameter der WM_DRAWITEM Nachricht.

Syntax

typedef struct tagDRAWITEMSTRUCT {
  UINT      CtlType;
  UINT      CtlID;
  UINT      itemID;
  UINT      itemAction;
  UINT      itemState;
  HWND      hwndItem;
  HDC       hDC;
  RECT      rcItem;
  ULONG_PTR itemData;
} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;

Member

CtlType

Typ: UINT

Der Steuerelementtyp. Dieser Member kann einer der folgenden Werte sein. Siehe Hinweise.

Wert Bedeutung
ODT_BUTTON
Vom Besitzer gezeichnete Schaltfläche
ODT_COMBOBOX
Kombinationsfeld vom Besitzer gezeichnet
ODT_LISTBOX
Listenfeld vom Besitzer gezeichnet
ODT_LISTVIEW
Listenansichtssteuerelement
ODT_MENU
Vom Besitzer gezeichnetes Menüelement
ODT_STATIC
Vom Besitzer gezeichnetes statisches Steuerelement
ODT_TAB
Registersteuerelement

CtlID

Typ: UINT

Der Bezeichner des Kombinationsfelds, Des Listenfelds, der Schaltfläche oder des statischen Steuerelements. Dieses Element wird nicht für ein Menüelement verwendet.

itemID

Typ: UINT

Der Menüelementbezeichner für ein Menüelement oder den Index des Elements in einem Listen- oder Kombinationsfeld. Für ein leeres Listenfeld oder Kombinationsfeld kann dieses Element sein -1. Dadurch kann die Anwendung nur das Fokusrechteck an den vom rcItem-Element angegebenen Koordinaten zeichnen, obwohl keine Elemente im Steuerelement vorhanden sind. Dies gibt dem Benutzer an, ob das Listen- oder Kombinationsfeld den Fokus hat. Wie die Bits im itemAction-Member festgelegt werden, bestimmt, ob das Rechteck so gezeichnet werden soll, als ob das Listen- oder Kombinationsfeld den Fokus hat.

itemAction

Typ: UINT

Die erforderliche Zeichnungsaktion. Bei diesem Member kann es sich um einen oder mehrere Werte handeln.

Wert Bedeutung
ODA_DRAWENTIRE
Das gesamte Steuerelement muss gezeichnet werden.
ODA_FOCUS
Das Steuerelement hat den Tastaturfokus verloren oder gewonnen. Das elementState-Element sollte überprüft werden, um zu bestimmen, ob das Steuerelement den Fokus hat.
ODA_SELECT
Die Auswahl status wurde geändert. Der Member itemState sollte aktiviert sein, um zu bestimmen, ob die neue Auswahl den Fokus hat.

itemState

Typ: UINT

Der visuelle Zustand des Elements nach Beendigung der aktuellen Zeichnungsaktion. Dieses Element kann eine Kombination der werte sein, die in der folgenden Tabelle dargestellt sind.

Wert Bedeutung
ODS_CHECKED
Das Menüelement soll aktiviert werden. Dieses Bit wird nur in Menüs verwendet.
ODS_COMBOBOXEDIT
Die Zeichnung erfolgt im Auswahlfeld (Bearbeitungssteuerelement) eines vom Besitzer gezeichneten Kombinationsfelds.
ODS_DEFAULT
Das Element ist das Standardelement.
ODS_DISABLED
Das Element soll als deaktiviert gezeichnet werden.
ODS_FOCUS
Das Element hat den Tastaturfokus.
ODS_GRAYED
Das Element soll abgeblendet werden. Dieses Bit wird nur in Menüs verwendet.
ODS_HOTLIGHT
Das Element wird heiß nachverfolgt. Das heißt, das Element wird hervorgehoben, wenn sich die Maus auf dem Element befindet.
ODS_INACTIVE
Das Element ist inaktiv, und das dem Menü zugeordnete Fenster ist inaktiv.
ODS_NOACCEL
Das Steuerelement wird ohne Tastaturtastenhinweise gezeichnet.
ODS_NOFOCUSRECT
Das Steuerelement wird ohne Fokusindikatorhinweise gezeichnet.
ODS_SELECTED
Die status des Menüelements ist ausgewählt.

hwndItem

Typ: HWND

Ein Handle für das Steuerelement für Kombinationsfelde, Listenfelder, Schaltflächen und statische Steuerelemente. Bei Menüs ist dieses Element ein Handle für das Menü, das das Element enthält.

hDC

Typ: HDC

Ein Handle zu einem Gerätekontext; dieser Gerätekontext muss verwendet werden, wenn die Zeichenvorgänge auf dem Steuerelement ausgeführt werden.

rcItem

Typ: RECT

Ein Rechteck, das die Grenzen des zu zeichnenden Steuerelements definiert. Dieses Rechteck befindet sich in dem vom hDC-Member angegebenen Gerätekontext. Das System klammert automatisch alle Elemente ab, die das Besitzerfenster im Gerätekontext für Kombinationsfelder, Listenfelder und Schaltflächen zeichnet, aber keine Menüelemente aus. Beim Zeichnen von Menüelementen darf das Besitzerfenster nicht außerhalb der Grenzen des durch das rcItem-Member definierten Rechtecks zeichnen.

itemData

Typ: ULONG_PTR

Der anwendungsdefinierte Wert, der dem Menüelement zugeordnet ist. Für ein Steuerelement gibt dieser Parameter den Wert an, der dem Listenfeld oder Kombinationsfeld zuletzt durch die LB_SETITEMDATA - oder CB_SETITEMDATA-Nachricht zugewiesen wurde. Wenn das Listenfeld oder Kombinationsfeld das format LBS_HASSTRINGS oder CBS_HASSTRINGS hat, ist dieser Wert zunächst 0. Andernfalls ist dieser Wert zunächst der Wert, der im lParam-Parameter einer der folgenden Meldungen an das Listen- oder Kombinationsfeld übergeben wurde:

Wenn CtlTypeODT_BUTTON oder ODT_STATIC ist, ist itemData 0.

Hinweise

Einige Steuerelementtypen, z. B. status Balken, legen den Wert von CtlType nicht fest.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winuser.h (einschließlich Windows.h)

Weitere Informationen

CB_ADDSTRING

CB_INSERTSTRING

CB_SETITEMDATA

LB_ADDSTRING

LB_INSERTSTRING

LB_SETITEMDATA

Referenz

WM_DRAWITEM