Окно с Progress Bar перестает обновляться
От: unz0r  
Дата: 20.06.05 00:04
Оценка:
Всем здравствуйте.
Рисую маленькое окно в обработчике WM_CREATE, чтобы вывести progress bar — индикатор загрузки. Все идет нормально, если ничего не трогать, но если пару раз кликнуть вокруг и сместить фокус, то окно перестает обновляться и progress bar останавливается. Иногда все это окно становится серым. Иногда главное окно, которое появляется после, не имеет закладки в taskbar, появляется только если кликнуть по нему. Вобщем где-то я туплю.

WinMain:
 W.style         = CS_HREDRAW | CS_VREDRAW;
 W.lpfnWndProc   = DefWindowProc;
 W.cbClsExtra    = 0;
 W.cbWndExtra    = DLGWINDOWEXTRA;
 W.hInstance     = hInst;
 W.lpszMenuName  = NULL;
 W.lpszClassName = szLoadName;
 if(!RegisterClass(&W)) return -1;

Fun_onCreate (обработчик WM_CREATE):
hwndLoad = CreateWindowEx(WS_EX_TOOLWINDOW | WS_EX_TOPMOST, szLoadName, szLoadName,
           WS_CAPTION | WS_OVERLAPPED | WS_VISIBLE, 200, 200, 200, 110, NULL, NULL, hInstance, NULL);
hwndPB = CreateWindowEx(0, PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE,
         10, 50, 175, 20, hwndLoad, NULL, hInstance, NULL);

for() {
...
SendMessage(hwndPB, PBM_SETPOS, pos, 0);
UpdateWindow(hwndPB);
...
}

DestroyWindow(hwndLoad);

Пробовал создавать окно как диалог из ресурса, вобщем эффект тот же.
Заранее спасибо за любую помощь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.