Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zeichnet den nächsten Frame einer gepufferten Farbenanimation.
Syntax
BOOL BufferedPaintRenderAnimation(
HWND hwnd,
HDC hdcTarget
);
Die Parameter
hwnd
Typ: HWND-
Behandeln Sie das Fenster, in dem die Animationen wiedergegeben werden.
hdcTarget
Typ: HDC
Handle des Ziel-DC, auf dem der Puffer animiert wird.
Rückgabewert
Typ: BOOL
Gibt TRUE zurück, wenn der Rahmen gezeichnet wurde, oder FALSE .
Bemerkungen
Wenn diese Funktion WAHR zurückgibt, sollte die Anwendung kein weiteres Malen ausführen. Wenn diese Funktion FALSCH zurückgibt, sollte die Anwendung normal zeichnen.
Eine Anwendung ruft diese Funktion innerhalb des WM_PAINT Handlers auf. Nachdem BufferedPaintRenderAnimation einen Animationsframe zeichnet, wird eine Anwendung in der Regel fortgesetzt, ohne die üblichen Malvorgänge auszuführen. Falls zutreffend, kann eine Anwendung festlegen, dass oben in der Animation zusätzliche Benutzeroberfläche (UI) gerendert wird. Im folgenden Codebeispiel, das als Teil eines größeren Codeteils enthalten sein soll, wird gezeigt, wie die Funktionen zum Zeichnen von Animationen verwendet werden.
if (!_fBufferedPaintInit)
{
BufferedPaintInit();
_fBufferedPaintInit = TRUE;
}
// Determine whether the paint message was generated by a softfade animation.
if (!BufferedPaintRenderAnimation(hWnd, hdc))
{
// Initialize buffered paint parameters.
BP_ANIMATIONPARAMS animParams = {sizeof(BP_ANIMATIONPARAMS)};
animParams.style = BPAS_LINEAR;
animParams.dwDuration = 0;
GetThemeTransitionDuration(hTheme, iPartId, iStateIdFrom,
iStateIdTo, TMT_TRANSITIONDURATIONS, &animParams.dwDuration);
HDC hdcFrom, hdcTo;
HANIMATIONBUFFER hbpAnimation = BeginBufferedAnimation(hWnd, hdc, &rc,
BPBF_COMPATIBLEBITMAP, NULL, &animParams, &hdcFrom, &hdcTo);
if (hbpAnimation)
{
if (hdcFrom)
{
PaintImpl(hdcFrom, iPartId, iStateIdFrom /*, ...*/);
}
if (hdcTo)
{
PaintImpl(hdcTo, iPartId, iStateIdTo/*, ...*/);
}
EndBufferedAnimation(hbpAnimation, TRUE);
}
else
{
// Default to unbuffered paint
PaintImpl(hdc, iPartId, iStateIdTo/*, ...*/);
}
}
// Else do not paint because the BufferedPaintRenderAnimation function
// already did.
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows Vista [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2008 [Nur Desktop-Apps] |
| Zielplattform | Fenster |
| Header | uxtheme.h |
| Library | Uxtheme.lib |
| DLL | UxTheme.dll |