這是我在這裏的第一份工作,我想學習編程代碼塊12.11 win32的GUI,但現在的問題是,列表框不能正確填充
我有一個對話框窗口上有2個列表框(IDC_LISTP>個人項目備註)和(IDC_LISTS>共享項目備註),
(個人項目備註)自動填充在創建的對話框上,我也可以從正確的文件夾中獲取(共享項目備註) (更新共享)。
單擊(更新共享)後點擊按鈕(更新個人)時,即使在使用清除按鈕後,它也會將(共享項目註釋)的內容加載到(個人項目註釋)列表框中當點擊(更新個人)按鈕時,這仍然填充(個人項目筆記),
我該如何阻止這種情況發生?
請能有人幫我解決這個問題,有我一直在敲打我的頭,現在天牆上,
這是我用了目前試驗的代碼,請原諒亂碼,因爲大多數它來自我已經轉換爲適合我的GUI的例子。
增設職位http://forums.codeguru.com/showthread.php?540733-win32-listbox-not-populating-right與圖片太
BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam){
switch(Message){
case WM_INITDIALOG:
CheckRadioButton(HWND (hwnd),IDRADIO, IDRADIO2, IDRADIO);
{
DlgDirList(HWND (ID_PROJECT_PROJECT_NOTES), pbuffer, IDC_LISTP, 0, DDL_EXCLUSIVE);
HWND hListBox = GetDlgItem(hwnd, IDC_LISTP);
SendMessage(hListBox, LB_DIR, 0, (LPARAM)("*.txt*"));
}
break;
case WM_COMMAND:
switch(LOWORD(wParam)){
case ID_UPDATEP:{
SendDlgItemMessage(HWND(hwnd), IDC_LISTP, LB_RESETCONTENT, 0, 0);
DlgDirList(HWND (ID_PROJECT_PROJECT_NOTES), pbuffer, IDC_LISTP, 0, DDL_EXCLUSIVE);
HWND hListBox = GetDlgItem(hwnd, IDC_LISTP);
SendMessage(hListBox, LB_DIR, 0, (LPARAM)("*.txt"));
}
break;
case ID_UPDATES:{
SendDlgItemMessage(HWND(hwnd), IDC_LISTS, LB_RESETCONTENT, 0, 0);
DlgDirList(HWND (ID_PROJECT_PROJECT_NOTES), sbuffer, IDC_LISTS, 0, DDL_EXCLUSIVE);
HWND hList = GetDlgItem(hwnd, IDC_LISTS);
SendMessage(hList, LB_DIR, 0, (LPARAM)("*.txt"));
}
break;
case IDCLEAR:
SendDlgItemMessage(HWND(hwnd), IDC_LISTP, LB_RESETCONTENT, 0, 0);
SendDlgItemMessage(HWND(hwnd), IDC_LISTS, LB_RESETCONTENT, 0, 0);
break;
case IDCREATE:{
DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDPAD), NULL, DlgProc);
}
break;
case IDOK:
EndDialog(hwnd, IDOK);
break;
case IDCANCEL:
EndDialog(hwnd, IDCANCEL);
break;
}
break;
case WM_CLOSE:
EndDialog(hwnd, 0);
break;
default:
return FALSE;
}
return TRUE;
}
謝謝你的回覆朋友,我改變了我的代碼,你建議,同樣的問題出現後,你點擊(更新共享按鈕),然後點擊(更新個人按鈕)個人列表填充共享列表。這些是pbuffer和sbuffer,[code] char pbuffer [MAX_PATH] =「C:\\ Users \\ uncboog \\ Documents \\ Nexum Core \\ Project Notepad \\ User \\ * .txt」; char sbuffer [MAX_PATH] =「C:\\ Users \\ uncboog \\ Documents \\ Nexum Core \\ Project Notepad \\ Shared \\ * .txt」; [/ code]我是否會出錯???,我是否會在代碼中包含錯誤消息,再次感謝:) –
我的原始文章作爲鏈接到我的另一個職位,由圖片來顯示輸出http://forums.codeguru.com/showthread.php?540733-win32-listbox-not-populating-right –
爲'TRACE'增加了額外的代碼,你也可以在代碼中放置一個斷點並在修改代碼後檢查 –