Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Pinta el siguiente fotograma de una animación de pintura almacenada en búfer.
Syntax
BOOL BufferedPaintRenderAnimation(
HWND hwnd,
HDC hdcTarget
);
Parámetros
hwnd
Controla la ventana en la que se reproducen las animaciones.
hdcTarget
Tipo: HDC
Identificador del controlador de dominio de destino en el que se anima el búfer.
Valor devuelto
Tipo: BOOL
Devuelve TRUE si el marco se ha pintado o FALSE en caso contrario.
Observaciones
Si esta función devuelve TRUE, la aplicación no debe seguir pintando. Si esta función devuelve FALSE, la aplicación debería pintar normalmente.
Una aplicación llama a esta función dentro de su controlador de WM_PAINT . Después de bufferedPaintRenderAnimation pinta un fotograma de animación, una aplicación normalmente continuará sin realizar sus operaciones de pintura habituales. Si procede, una aplicación puede optar por representar la interfaz de usuario (UI) adicional sobre la parte superior de la animación. En el ejemplo de código siguiente, que se va a incluir como parte de un cuerpo de código mayor, se muestra cómo usar las funciones de dibujo de animación.
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.
}
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
| Servidor mínimo admitido | Windows Server 2008 [solo aplicaciones de escritorio] |
| de la plataforma de destino de |
Windows |
| Header | uxtheme.h |
| Library | Uxtheme.lib |
| DLL de |
UxTheme.dll |