내 응용 프로그램에서 나는 요소의 알 수없는 수의 루프를 입력하고하지 다시 그립니다, 그래서 난 그 응용 프로그램이 실행되고 알려내 진행률 표시 줄이 모두 WINAPI
를 진행 표시 줄을 표시하고이 코드가 잘 작동, ,
do
{
...
SendMessage(hPBLoading, PBM_STEPIT, 0, 0);
...
} while(true);
을하지만 불행히도 윈도우의 나머지는 분해와 같은 윈도우 내 응용 프로그램을 치료 몇 초 후 및 Windows 7에 (때문에 루프에 분명하다) 새로 고침하지 않습니다 PROGRES 바 independly 상쾌한 루프를 끝내고 다시 새로 고침하면
그래서 내가 메시지 큐를 파견 할 필요가 있다고 생각하고 나는이 내 코드를 변경 : 그것은 잘 작동
do
{
...
SendMessage(hPBLoading, PBM_STEPIT, 0, 0);
...
us_tmpBreakCounter++;
...
if (us_tmpBreakCounter >= 10)
{
us_tmpBreakCounter = 0;
UpdateSomeOtherElementsinWindow();
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) == TRUE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
} while(true);
의 applcation 업데이트 및 전 후 새로 고쳐집니다. 10 카운트 그래서 그것의, 을 분해하지하지만 불행히도 또 다른 문제는 현재 진행 표시 줄이 완전히 다시 그리기하지 않습니다 발생 - 몇 초 후 경 사진 프레임 사라져은 아래 이미지를 확인 : 대한
http://mstanisz.website.pl/temp/progressbar_01.jpg
감사합니다 당신의 도움! m.
두려운 DoEvents()를 다시 발명했습니다. PM_QS_PAINT를 PeekMessage에 전달하여 피해를 제한하십시오. –
고마움, 나는이 영혼을 너무 점검 할 것이다 ... – Mateusz