我创建了一个 MFC 对话框(Dialog-based),里面有一段代码是要反复使用的,但是这段代码包含了一条改变对话框内容的语句,使我无法单独作为一个函数使用。这段代码是: HANDLE hFind = FindFirstFile(path+"*", &fdFind); iFile = 0; GetDlgItem(IDC_PATH)->SetWindowText(path); //就因为这条语句,才不可单独声明为函数。 m_filelist.DeleteAllItems(); do { m_filelist.InsertItem(iFile,fdFind.cFileName); if ((fdFind.dwFileAttributes == 16) || (fdFind.dwFileAttributes == 17) || (fdFind.dwFileAttributes == 18)) { m_filelist.SetItemText(iFile,1,"文件夹"); } else { m_filelist.SetItemText(iFile,1,"文件"); } iFile ++;
} while (FindNextFile(hFind, &fdFind)); FindClose(hFind); 一旦单独声明为函数,就会发生编译错误。我的对话框名叫 CFileListDlg,我希望能够把这段代码作为一个非事件的成员函数,例如 CFileListDlg::GetFile(),哪位大侠能帮我,不胜感激!
[此贴子已经被作者于2005-8-5 21:29:07编辑过]