Как мне сделать окно видимым перед обработкой?
Я пытаюсь сделать что-то вроде этого:
void CMyClass::OnButton1Clicked()
{
CString class_str = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, ::LoadCursor(NULL,IDC_ARROW),(HBRUSH)::GetStockObject(WHITE_BRUSH),::LoadIcon(NULL, IDI_APPLICATION));
CWnd* wnd = new CWnd();
wnd->Create(class_str,"Test",WS_CHILD | WS_VISIBLE | WS_BORDER, CRect(0,0,100,100), AfxGetMainWnd(), 1432);
//AfxMessageBox("test"); // <- if this is executed wnd gets visible before sleep()
Sleep(5000); //this would be processing
wnd->DestroyWindow();
delete wnd;
return;
}
Окно не отображается вообще.Я пытался отобразить его в потоке пользовательского интерфейса, но он также не отображается.Если я выполняю цикл обработки сообщений до тех пор, пока не будет создано окно, оно появляется, но через некоторое время основной цикл обработки сообщений подтверждает это.
Я знаю, что это должно быть сделано не так, а обработано в рабочем потоке, но с текущейкод, с которым я работаю, потребует слишком больших изменений.