我試圖在我的進程正在進行時顯示進度條...在我的應用程序中會出現一種情況,即我必須讀取文件並操作它們(需要一些時間才能完成)..要顯示在這個操作過程中的進度條..我打電話的特定功能是贏32 ...所以,如果你檢查我的代碼在下面...我能夠顯示進度條,但它不顯示任何progress..actually其沒有做任何進一步的處理...請幫助me..thanks提前無法使用線程概念顯示進度條?
//my function
int Myfunction(....)
{
MSG msg;
HWND dialog = CreateWindowEx(0,WC_DIALOG,L"Proccessing...",WS_OVERLAPPEDWINDOW|WS_VISIBLE,
600,300,280,120,NULL,NULL,NULL,NULL);
HWND pBar = CreateWindowEx(NULL,PROGRESS_CLASS,NULL,WS_CHILD|WS_VISIBLE,40,20,200, 20,
dialog,(HMENU)IDD_PROGRESS,NULL,NULL);
SendMessage(pBar,PBM_SETRANGE,0,MAKELPARAM(0,noOfFile));
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
Dispatch(&message);
}
HANDLE getHandle = CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)SetFilesForOperation(...),
NULL,NULL,0);
}
LPARAM SetFilesForOperation(...)
{
for(int index = 0;index < noOfFiles; index++)
{
*checkstate = *(checkState + index);
if(*checkstate == -1)
{
*(getFiles+i) = new TCHAR[MAX_PATH];
wcscpy(*(getFiles+i),*(dataFiles +index));
i++;
}
else
{
(*tempDataFiles)->Add(*(dataFiles+index));
*(checkState + localIndex) = *(checkState + index);
localIndex++;
}
PostMessage(pBar,PBM_SETPOS,(WPARAM)index,0);
}
}
只有當它顯示進度條..它(線程)可以處理它......如果它在完成任務後沒有顯示出在進度條上沒有使用顯示 – kiddo 2010-04-01 05:11:55