Freigeben über


DrawStateA-Funktion (winuser.h)

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

Syntax

BOOL DrawStateA(
  [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 Gerätekontext, in den gezeichnet werden soll.

[in] hbrFore

Ein Handle für den Pinsel, der zum Zeichnen des Bilds verwendet wird, wenn der durch den 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- werden, wenn der Bildtyp 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. Es wird 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. Dieser Parameter kann einer der folgenden Typwerte sein:

Wert (Typ) Bedeutung
DST_BITMAP
Das Bild ist eine Bitmap. Der lData--Parameter ist der Bitmaphandle. Beachten Sie, dass die Bitmap nicht bereits in einem vorhandenen Gerätekontext ausgewählt werden kann.
DST_COMPLEX
Das Bild ist anwendungsdefiniert. Um das Bild zu rendern, ruft DrawState die rückruffunktion auf, die durch den parameter lpOutputFunc angegeben wird.
DST_ICON
Das Bild ist ein Symbol. Der lData--Parameter ist das Symbolhandle.
DST_PREFIXTEXT
Das Bild ist Text, der einen Zugriffstasten-Mnemonic enthalten kann. DrawState interpretiert das Präfixzeichen kaufmännisches Und-Zeichen (&) 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-terminated 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-terminated sein.
 

Dieser Parameter kann auch einer der folgenden Zustandswerte sein.

Wert (Status) Bedeutung
DSS_DISABLED
Das Bild wird geprägt.
DSS_HIDEPREFIX
Ignoriert das Präfixzeichen (&) im Text, sodass der folgende Buchstabe nicht unterstrichen wird. Dies muss mit DST_PREFIXTEXT verwendet werden.
DSS_MONO
Zeichnet das Bild mit dem durch den hbr Parameter angegebenen Pinsel.
DSS_NORMAL
Zeichnet das Bild ohne Änderungen.
DSS_PREFIXONLY
Zeichnet nur die Unterstreichung an der Position des Buchstabens nach dem Kaufmännischen Und-Zeichen (&) Präfixzeichen. 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 the image.
 

Für alle Zustände mit Ausnahme von DSS_NORMAL wird das Bild vor der Anwendung des visuellen Effekts in Monochrom konvertiert.

Rückgabewert

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

Wenn die Funktion fehlschlägt, ist der Rückgabewert null.

Bemerkungen

Anmerkung

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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch

DrawStateProc-

Mal- und Zeichnungsfunktionen

Mal- und Zeichnungsübersicht