Freigeben über


DRAWITEMSTRUCT-Struktur

Die DRAWITEMSTRUCT-Struktur enthält Informationen, die das Besitzerfenster muss bestimmen müssen, wie ein Ownerdrawn- die Steuerung oder ein 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 lauten wie folgt:

    • ODT_BUTTON Schaltfläche Ownerdrawn

    • ODT_COMBOBOX Kombinationsfeld Ownerdrawn

    • ODT_LISTBOX Listenfeld Ownerdrawn

    • ODT_MENU Menü Ownerdrawn

    • ODT_LISTVIEW ListView-Steuerelement

    • ODT_STATIC ownerdrawn statisches Steuerelement

    • ODT_TAB Registersteuerelement

  • CtlID
    Die Steuerelement-ID für ein Kombinationsfeld, ein Listen- oder eine Schaltfläche.Dieser Member wird nicht für Menüs verwendet.

  • itemID
    Die Menüelement ID für ein Menü oder Index des Elements in einem Listenfeld oder in einem Kombinationsfeld.Für ein leeres Listenfeld oder ein Kombinationsfeld ist dieser Member ein negativer Wert, der die Anwendung lediglich das Fokusrechteck an den angegebenen Koordinaten zu zeichnen, die vom rcItem-Member angegeben werden, obwohl sie keine Elemente im Steuerelement vorhanden sind.Der Benutzer kann somit angezeigt werden, ob das Listenfeld oder das Kombinationsfeld den Eingabefokus besitzt.Die Einstellung der Bits im itemAction Mitglieder bestimmt, ob das Rechteck gezeichnet werden soll, als ob das Listenfeld oder das Kombinationsfeld den Eingabefokus besitzt.

  • itemAction
    Definiert die zum Zeichnen fungiert.Dies ist eine oder mehrere der folgenden Bits:

    • ODA_DRAWENTIRE dieses Bit wird festgelegt, wenn das gesamte Steuerelement gezeichnet werden muss.

    • ODA_FOCUS dieses Bit wird festgelegt, wenn das Steuerelement den Eingabefokus verliert oder erhält.Der itemState-Member sollte überprüft werden, um festzustellen, ob das Steuerelement den Fokus besitzt.

    • ODA_SELECT dieses Bit wird festgelegt, wenn nur der Auswahlstatus geändert hat.Der itemState-Member sollte überprüft werden, um den neuen Auswahlzustand zu bestimmen.

  • itemState
    Gibt den visuellen Zustand des Elements an, das Zeichnen die aktuelle Aktion ausgeführt wird.Das heißt, wenn ein Menüelement grau unterlegt werden soll, wird das flag Zustand ODS_GRAYED festgelegt.Die Flags für Zustände lauten wie folgt:

    • ODS_CHECKED dieses Bit wird festgelegt, wenn das Menüelement aktiviert werden soll.Das Bit wird nur in einem Menü verwendet.

    • ODS_DISABLED dieses Bit wird festgelegt, wenn das Element gezeichnet werden soll, wie deaktiviert.

    • ODS_FOCUS dieses Bit wird festgelegt, wenn das Element den Eingabefokus besitzt.

    • ODS_GRAYED dieses Bit wird festgelegt, wenn das Element abgeblendet dargestellt werden soll.Das Bit wird nur in einem Menü verwendet.

    • ODS_SELECTED dieses Bit wird festgelegt, wenn der Status des Elements ausgewählt ist.

    • ODS_COMBOBOXEDIT die Zeichnung findet im Feld Auswahl (Bearbeitungssteuerelement) eines Ownerdrawn- kombinationsfelds statt.

    • ODS_DEFAULT das Element ist das Standardelement.

  • hwndItem
    Gibt das Fensterhandle des Steuerelements für Listenfelder, Kombinationsfelder und Schaltflächen an.Gibt das Handle des Menüs an (HMENU) das das Element für Menüs enthält.

  • hDC
    Identifiziert einen Gerätekontext.Dieser Gerätekontext muss verwendet werden, wenn Zeichenvorgänge auf dem Steuerelement ausgeführt wird.

  • rcItem
    Ein Rechteck aus dem angegebenen Gerätekontext im hDC-Member, der die Begrenzungen des zu zeichnenden Steuerelements definiert.Windows wird automatisch alle die Ownerdrawn- im Gerätekontext für Kombinationsfelder, Listenfelder und Schaltflächen ab, der jedoch keine Klipp menüelemente.Bei der Menüelemente zeichnet, darf der Besitzer nicht außerhalb der Grenzen des Rechtecks zeichnen, das vom rcItem-Member definiert wird.

  • itemData
    Für ein Kombinationsfeld oder ein Listenfeld enthält dieser Member den Wert, der dem Listenfeld durch eine der folgenden Zeichenfolgen übergeben wurde:

    Ein Menü enthält dieser Member den Wert, der dem Menü durch eine der folgenden Zeichenfolgen übergeben wurde:

Hinweise

Das Besitzerfenster des Steuerelements ownerdrawn oder - Menüelements empfängt einen Zeiger auf diese lParam der Struktur als Parameter der WM_DRAWITEM Meldung.

Anforderungen

Header: winuser.h

Siehe auch

Referenz

CWnd::OnDrawItem

Weitere Ressourcen

Strukturen, Formate, Rückrufe und Meldungszuordnungen