DrawIconEx-Funktion (winuser.h)
Zeichnet ein Symbol oder Cursor in den angegebenen Gerätekontext, führt die angegebenen Rastervorgänge aus und dehnt oder komprimiert das Symbol oder den Cursor wie angegeben.
Syntax
BOOL DrawIconEx(
[in] HDC hdc,
[in] int xLeft,
[in] int yTop,
[in] HICON hIcon,
[in] int cxWidth,
[in] int cyWidth,
[in] UINT istepIfAniCur,
[in, optional] HBRUSH hbrFlickerFreeDraw,
[in] UINT diFlags
);
Parameter
[in] hdc
Typ: HDC-
Ein Handle für den Gerätekontext, in den das Symbol oder der Cursor gezeichnet wird.
[in] xLeft
Typ: int
Die logische x-Koordinate der oberen linken Ecke des Symbols oder Cursors.
[in] yTop
Typ: int
Die logische y-Koordinate der oberen linken Ecke des Symbols oder Cursors.
[in] hIcon
Typ: HICON-
Ein Ziehpunkt für das zu zeichnende Symbol oder Cursor. Dieser Parameter kann einen animierten Cursor identifizieren.
[in] cxWidth
Typ: int
Die logische Breite des Symbols oder Cursors. Wenn dieser Parameter null ist und der diFlags Parameter DI_DEFAULTSIZEist, verwendet die Funktion den SM_CXICON Systemmetrikwert, um die Breite festzulegen. Wenn dieser Parameter null ist und DI_DEFAULTSIZE nicht verwendet wird, verwendet die Funktion die tatsächliche Ressourcenbreite.
[in] cyWidth
Typ: int
Die logische Höhe des Symbols oder Cursors. Wenn dieser Parameter null ist und der diFlags Parameter DI_DEFAULTSIZEist, verwendet die Funktion den SM_CYICON Systemmetrikwert, um die Breite festzulegen. Wenn dieser Parameter null ist und DI_DEFAULTSIZE nicht verwendet wird, verwendet die Funktion die tatsächliche Ressourcenhöhe.
[in] istepIfAniCur
Typ: UINT-
Der Index des zu zeichnenden Frames, wenn hIcon einen animierten Cursor identifiziert. Dieser Parameter wird ignoriert, wenn hIcon keinen animierten Cursor identifiziert.
[in, optional] hbrFlickerFreeDraw
Typ: HBRUSH-
Ein Ziehpunkt für einen Pinsel, den das System für flackerfreie Zeichnung verwendet. Wenn hbrFlickerFreeDraw ein gültiger Pinselziehpunkt ist, erstellt das System eine Offscreen-Bitmap mit dem angegebenen Pinsel für die Hintergrundfarbe, zeichnet das Symbol oder den Cursor in die Bitmap und kopiert dann die Bitmap in den Gerätekontext, der durch hdcidentifiziert wird. Wenn hbrFlickerFreeDrawNULL-ist, zeichnet das System das Symbol oder den Cursor direkt in den Gerätekontext.
[in] diFlags
Typ: UINT-
Die Zeichnungskennzeichnungen. Dieser Parameter kann einer der folgenden Werte sein:
Rückgabewert
Typ: BOOL-
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Die funktion DrawIconEx platziert die obere linke Ecke des Symbols an der position, die durch die xLeft und yTop Parameter angegeben wird. Der Standort unterliegt dem aktuellen Zuordnungsmodus des Gerätekontexts.
Wenn nur eine der DI_IMAGE und DI_MASK Flags festgelegt ist, wird die entsprechende Bitmap mit dem SRCCOPYRastervorgangscodegezeichnet.
Wenn sowohl die DI_IMAGE als auch DI_MASK Flags festgelegt sind:
- Wenn es sich bei dem Symbol oder Cursor um ein 32-Bit-Alpha-gemischtes Symbol oder Cursor handelt, wird das Bild mit AC_SRC_OVERBlend-Funktion gezeichnet, und die Maske wird ignoriert.
- Bei allen anderen Symbolen oder Cursorn wird die Maske mit dem SRCANDRasteroperationscodegezeichnet, und das Bild wird mit dem SRCINVERTRastervorgangscode
Um DrawIcon (hDC, X, Y, hIcon)
zu duplizieren, rufen Sie DrawIconEx wie folgt auf:
DrawIconEx (hDC, X, Y, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE);
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 |
API-Satz | ext-ms-win-ntuser-gui-l1-1-0 (eingeführt in Windows 8) |
Siehe auch
Konzeptionelle
Referenz-