Freigeben über


DrawStateW-Funktion (winuser.h)

Die DrawState-Funktion zeigt ein Bild an und wendet einen visuellen Effekt an, um einen Zustand anzugeben, z. B. einen deaktivierten oder Standardzustand.

Syntax

BOOL DrawStateW(
  [in] HDC           hdc,
  [in] HBRUSH        hbrFore,
  [in] DRAWSTATEPROC qfnCallBack,
  [in] LPARAM        lData,
  [in] WPARAM        wData,
  [in] int           x,
  [in] int           y,
  [in] int           cx,
  [in] int           cy,
  [in] UINT          uFlags
);

Parameter

[in] hdc

Ein Handle für den zu zeichnenden Gerätekontext.

[in] hbrFore

Ein Handle für den Pinsel, der zum Zeichnen des Bilds verwendet wird, wenn der vom fuFlags-Parameter angegebene Zustand DSS_MONO ist. Dieser Parameter wird für andere Zustände ignoriert.

[in] qfnCallBack

Ein Zeiger auf eine anwendungsdefinierte Rückruffunktion, die zum Rendern des Bilds verwendet wird. Dieser Parameter ist erforderlich, wenn der Bildtyp in fuFlags DST_COMPLEX ist. Sie ist optional und kann NULL sein, wenn der Imagetyp DST_TEXT ist. Für alle anderen Bildtypen wird dieser Parameter ignoriert. Weitere Informationen zur Rückruffunktion finden Sie in der DrawStateProc-Funktion .

[in] lData

Informationen zum Bild. Die Bedeutung dieses Parameters hängt vom Bildtyp ab.

[in] wData

Informationen zum Bild. Die Bedeutung dieses Parameters hängt vom Bildtyp ab. Sie ist jedoch null für die Verwendung mit der DrawStateProc-Funktion erweitert.

[in] x

Die horizontale Position in Geräteeinheiten, an der das Bild gezeichnet werden soll.

[in] y

Die vertikale Position in Geräteeinheiten, an der das Bild gezeichnet werden soll.

[in] cx

Die Breite des Bilds in Geräteeinheiten. Dieser Parameter ist erforderlich, wenn der Bildtyp DST_COMPLEX ist. Andernfalls kann es null sein, um die Breite des Bilds zu berechnen.

[in] cy

Die Höhe des Bilds in Geräteeinheiten. Dieser Parameter ist erforderlich, wenn der Bildtyp DST_COMPLEX ist. Andernfalls kann es null sein, um die Höhe des Bilds zu berechnen.

[in] uFlags

Der Bildtyp und -zustand. Bei diesem Parameter kann es sich um einen der folgenden Typwerte handeln.

Wert (Typ) Bedeutung
DST_BITMAP
Das Bild ist eine Bitmap. Der lData-Parameter ist das Bitmaphandle. Beachten Sie, dass die Bitmap nicht bereits in einem vorhandenen Gerätekontext ausgewählt werden kann.
DST_COMPLEX
Das Image ist anwendungsdefiniert. Zum Rendern des Bilds ruft DrawState die Rückruffunktion auf, die durch den lpOutputFunc-Parameter angegeben wird.
DST_ICON
Das Bild ist ein Symbol. Der lData-Parameter ist das Symbolhandle.
DST_PREFIXTEXT
Das Bild ist Text, der möglicherweise eine Beschleuniger-Mnemonic enthalten kann. DrawState interpretiert das Präfixzeichen ampersand (&) als Direktive, um das folgende Zeichen zu unterstreichen. Der lData-Parameter ist ein Zeiger auf die Zeichenfolge, und der wData-Parameter gibt die Länge an. Wenn wData null ist, muss die Zeichenfolge null-beendet sein.
DST_TEXT
Das Bild ist Text. Der lData-Parameter ist ein Zeiger auf die Zeichenfolge, und der wData-Parameter gibt die Länge an. Wenn wData null ist, muss die Zeichenfolge null-beendet sein.
 

Dieser Parameter kann auch einer der folgenden Zustandswerte sein.

Wert (Zustand) Bedeutung
DSS_DISABLED
Das Bild wird geprägt.
DSS_HIDEPREFIX
Ignoriert das Präfixzeichen ampersand (&) im Text, sodass der folgende Buchstabe nicht unterstrichen wird. Dies muss mit DST_PREFIXTEXT verwendet werden.
DSS_MONO
Zeichnet das Bild mit dem vom hbr-Parameter angegebenen Pinsel.
DSS_NORMAL
Zeichnet das Bild ohne Änderungen.
DSS_PREFIXONLY
Zeichnet nur die Unterstreichung an der Position des Buchstabens nach dem Präfixzeichen ampersand (&). Es wird kein Text in der Zeichenfolge gezeichnet. Dies muss mit DST_PREFIXTEXT verwendet werden.
DSS_RIGHT
Richtet den Text rechts aus.
DSS_UNION
Dithers des Bilds.
 

Für alle Zustände mit Ausnahme DSS_NORMAL wird das Bild in Monochrom konvertiert, bevor der visuelle Effekt angewendet wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Hinweis

Der winuser.h-Header definiert DrawState als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Weitere Informationen

DrawStateProc

Mal- und Zeichenfunktionen

Übersicht über Malerei und Zeichnung