GDI + и AnimateWindow

Я рисую изображение в моей клиентской области, используя GDI +, который прекрасно работает, пока я не использую AnimateWindow для отображения диалога. При этом сценарии и чертежи, выполненные GDI +, не показаны. Это можно обойти? Я использую Win32 C ++. Мой код до сих пор:

BOOL CALLBACK MyClass::DlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;

switch(msg)
{
case TRACK_CHANGED:
if(IsWindowVisible(hWnd)) {
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE);
}
else {
//ShowWindow(hWnd, SW_SHOW);
AnimateWindow(hWnd, 200, AW_ACTIVATE | AW_BLEND);
}
break;

case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
OnPaint(hdc);
EndPaint(hWnd, &ps);
return FALSE;
break;

case WM_CLOSE:
//ShowWindow(hWnd, SW_HIDE);
AnimateWindow(hWnd, 200, AW_HIDE | AW_BLEND);
break;

case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_CLOSE:
//ShowWindow(hWnd, SW_HIDE);
AnimateWindow(hWnd, 200, AW_HIDE | AW_BLEND);
break;
}
break;

default:
return FALSE;
}
return TRUE;
}

void MyClass::OnPaint(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"testImage.png");
graphics.DrawImage(&image, 0, 0);
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …