C++ GDI+;而且在伦敦
我正在使用GDI+在我的客户端区域绘制一幅图像,在我使用AnimateWindow显示对话框之前,这非常有效。在此场景中,不显示GDI+完成的绘图。有办法解决这个问题吗?我正在使用Win32 C++。到目前为止,我的代码是:C++ GDI+;而且在伦敦,c++,winapi,gdi+,animatewindow,C++,Winapi,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)
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);
}
实现WM_PRINTCLIENT。@HansPassant现场-谢谢!只是需要往正确的方向推!我是新来的,所以,你想把它作为一个答案,这样我可以标记它正确吗?