我现在建立了一个带按一个钮的对话框,按钮名字是BUTTON1,我直接就双击按钮打开函数响应,然后想要拷贝这段代码需要修改什么,或者是还应该做什么工作,然后把代码考到响应那里
1
2 void CFileSearchDlg::TraverseFolder( const CString& strDir,std::vector<CString>& vecFile )
3 {
4 WIN32_FIND_DATA FindFileData;
5
6 CString strDirTmp;
7 strDirTmp = strDir;
8 strDirTmp += "\\*.*";
9
10 HANDLE hFind=::FindFirstFile(strDirTmp,&FindFileData);
11 if(INVALID_HANDLE_VALUE == hFind)
12 {
13 return;
14 }
15
16 while(TRUE)
17 {
18 if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
19 {
20 if(FindFileData.cFileName[0]!= _T('.'))
21 {
22 strDirTmp = strDir;
23 strDirTmp += "\\";
24 strDirTmp += FindFileData.cFileName;
25 TraverseFolder(strDirTmp,vecFile) ;
26 }
27 }
28 else
29 {
30 strDirTmp = strDir;
31 strDirTmp += "\\";
32 strDirTmp += FindFileData.cFileName;
33 vecFile.push_back(strDirTmp);
34 }
35 if(!FindNextFile(hFind,&FindFileData)) break;
36 }
37 FindClose(hFind);
38
39 }
1
2 void CFileSearchDlg::TraverseFolder( const CString& strDir,std::vector<CString>& vecFile )
3 {
4 WIN32_FIND_DATA FindFileData;
5
6 CString strDirTmp;
7 strDirTmp = strDir;
8 strDirTmp += "\\*.*";
9
10 HANDLE hFind=::FindFirstFile(strDirTmp,&FindFileData);
11 if(INVALID_HANDLE_VALUE == hFind)
12 {
13 return;
14 }
15
16 while(TRUE)
17 {
18 if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
19 {
20 if(FindFileData.cFileName[0]!= _T('.'))
21 {
22 strDirTmp = strDir;
23 strDirTmp += "\\";
24 strDirTmp += FindFileData.cFileName;
25 TraverseFolder(strDirTmp,vecFile) ;
26 }
27 }
28 else
29 {
30 strDirTmp = strDir;
31 strDirTmp += "\\";
32 strDirTmp += FindFileData.cFileName;
33 vecFile.push_back(strDirTmp);
34 }
35 if(!FindNextFile(hFind,&FindFileData)) break;
36 }
37 FindClose(hFind);
38
39 }
在头文件中将函数声明的参数补全,就是括号里的东西( const CString&
strDir,std::vector<CString>& vecFile )。然后在函数定义中也将括号的所有参数都copy一下,函数名、类名函数返回类型什么的都不用动。再将上边大括号里的东西拷到你的OnButton1(){将上边函数的所有内容都拷贝进这个大括号里边}....最后里边的东西就要自己去编译调试咯