WIN32程序进度条无法滚动

环境:WIN32项目,VS
目标:点击按钮(IDOK_LOG)后,进度条开始滚动,然后程序继续,之后自行退出。
问题:显示在进度条用process control 建立后,使用线程实现后无法滚动。就是显示一个空precess control
(线程实现方法应该没问题,因为单独把内容放到主程序中可以滚动,只不过是死循环)

INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) (窗口回调函数)
HWND hProgress; //获得当前句GPD柄用
.....
case IDOK_LOG: //点击ok后
hProgress = GetDlgItem(hDlg, IDC_PROGRESS1);
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)PBThreadProc, hProgress, 0, 0);
.......
进度条创建后的继续程序。
break;

DWORD WINAPI PBThreadProc( LPVOID lpParameter )
{
//HWND hwndPB = GetDlgItem(hDlg, IDC_PROGRESS1);
HWND hwndPB = (HWND) lpParameter; //进度条的窗口句柄
PBRANGE range; //进度条的范围

SendMessage( hwndPB, PBM_SETRANGE, (WPARAM)0, (LPARAM)(MAKELPARAM(0,100)) );

SendMessage( hwndPB, PBM_GETRANGE, (WPARAM)TRUE,  (LPARAM)&range );

while(TRUE)
{
    SendMessage( hwndPB, PBM_DELTAPOS, 
                (WPARAM)((range.iHigh-range.iLow)/20), (LPARAM)0 );
    if( SendMessage( hwndPB, PBM_GETPOS, (WPARAM)0, (LPARAM)0 ) == range.iHigh ) 
        {
            SendMessage( hwndPB, PBM_SETPOS, (WPARAM)range.iLow, (LPARAM)0 ); 
        }
        Sleep(1000);
}

}

可以参考这篇文章。
希望对你有帮助。