Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Рисует следующий кадр буферизованной анимации краски.
Синтаксис
BOOL BufferedPaintRenderAnimation(
HWND hwnd,
HDC hdcTarget
);
Параметры
hwnd
Тип: HWND
Обработайте окно, в котором воспроизводится анимация.
hdcTarget
Тип: HDC
Дескриптор целевого контроллера домена, на котором анимирован буфер.
Возвращаемое значение
Тип: BOOL
Возвращает значение TRUE , если кадр был окрашен или false в противном случае.
Замечания
Если эта функция возвращает значение TRUE, приложение не должно выполнять дальнейшее рисование. Если эта функция возвращает значение FALSE, приложение должно обычно рисовать.
Приложение вызывает эту функцию в обработчике WM_PAINT . После того как BufferedPaintRenderAnimation красит кадр анимации, приложение обычно продолжается без выполнения обычных операций рисования. При необходимости приложение может выбрать отображение дополнительного пользовательского интерфейса (пользовательского интерфейса) в верхней части анимации. В следующем примере кода, который будет включен в состав более крупного текста кода, показано, как использовать функции рисования анимации.
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.
}
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows Vista [только классические приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
| целевая платформа | Виндоус |
| Header | uxtheme.h |
| Library | Uxtheme.lib |
| DLL | UxTheme.dll |