Здравствуйте, kvasya, Вы писали:
K>По вопросу, форсируйте прорисовку просто WM_PAINT, например, RedrawWindow.
Спасибо за совет!
Я пробовала RedrawWindow, но видимо, не в такой комбинации. Сейчас все работает. Обработку WM_PRINTCLIENT убрала, т.к. действительно, вроде пока не нужно.
По идее UpdateWindow должна была посылать WM_PAINT... Видимо не посылала почему-то (неужели считала, что область для обновления была пустой?). А RedrawWindow сработала, т.к. это принудительное обновление и область для обновления была задана как клиентская область целиком.
bool
CImageViewer::CreateMainWindow()
{
m_hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, (const char*)"Image Viewer main window class",
(const char*)"Image Viewer v.1.0.0", WS_OVERLAPPEDWINDOW,
0, 0,
1024, 768,
NULL, NULL,
m_hInstance, this);
if (m_hWnd == NULL)
{
MessageBox(NULL, "Window creation failed!", "Error", MB_ICONEXCLAMATION|MB_OK);
return false;
}
if (!AnimateWindow(m_hWnd, 500, AW_BLEND))
return false;
if (!RedrawWindow(m_hWnd, NULL, NULL, RDW_INVALIDATE))
return false;
return true;
}