DrawIconEx-Funktion (winuser.h)
Zeichnet ein Symbol oder einen 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 linken oberen Ecke des Symbols oder Cursors.
[in] hIcon
Typ: HICON
Ein Handle zum zu zeichnenden 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-ParameterDI_DEFAULTSIZE ist, 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-ParameterDI_DEFAULTSIZE ist, 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 zum flimmerfreien Zeichnen 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 die Bitmap dann in den durch hdc identifizierten Gerätekontext. Wenn hbrFlickerFreeDrawNULL ist, zeichnet das System das Symbol oder den Cursor direkt in den Gerätekontext.
[in] diFlags
Typ: UINT
Die Zeichnungsflags. Dieser Parameter kann einen der folgenden Werte annehmen.
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Die DrawIconEx-Funktion platziert die obere linke Ecke des Symbols an der durch die Parameter xLeft und yTop angegebenen Position. Der Standort unterliegt dem aktuellen Zuordnungsmodus des Gerätekontexts.
Wenn nur eines der DI_IMAGE- und DI_MASK-Flags festgelegt ist, wird die entsprechende Bitmap mit dem SRCCOPY-Rastervorgangscode gezeichnet.
Wenn sowohl die flags DI_IMAGE als auch DI_MASK festgelegt sind:
- Wenn es sich bei dem Symbol oder Cursor um ein 32-Bit-Symbol oder einen Cursor handelt, wird das Bild mit AC_SRC_OVERBlendfunktion gezeichnet, und die Maske wird ignoriert.
- Für alle anderen Symbole oder Cursor wird die Maske mit dem SRCAND-Rastervorgangscode gezeichnet, und das Bild wird mit dem SRCINVERT-Rastervorgangscode gezeichnet.
Um zu duplizieren DrawIcon (hDC, X, Y, hIcon)
, rufen Sie DrawIconEx wie folgt auf:
DrawIconEx (hDC, X, Y, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE);
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 (windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-gui-l1-1-0 (eingeführt in Windows 8) |
Siehe auch
Konzept
Referenz
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für