手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

MFC应用实例:[26]选择文件夹对话框

时间:2024-10-19 14:05:00

1、新建一个基于对话框的应用程序,应用程序名称为OpenDir。

MFC应用实例:[26]选择文件夹对话框

2、对对话框进行如下图的设计添加“打开文件夹”按钮,并对这个按钮添加对应的响应函数。

MFC应用实例:[26]选择文件夹对话框

3、在“打开文件夹”按钮的函数OnButtonOpendir()中添加一下代码:#define BIF_NEWDIALOGSTYLE 0x0040void COpenDirDlg::OnButtonOpendir() //打开目录{ HWND hwnd= GetSafeHwnd(); //得到窗口句柄 CString filePath= ""; //得到文件路径 LPMALLOC pMalloc; if (::SHGetMalloc(&pMalloc) == NOERROR) //取得IMalloc分配器接口 { BROWSEINFO bi; TCHAR pszBuffer[MAX_PATH]; LPITEMIDLIST pidl; bi.hwndOwner = hwnd; bi.pidlRoot = NULL; bi.pszDisplayName = pszBuffer; bi.lpszTitle = _T("选择文件夹"); //选择目录对话框的上部分的标题 //添加新建文件夹按钮 BIF_NEWDIALOGSTYLE bi.ulFlags = BIF_NEWDIALOGSTYLE | BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; if ((pidl = ::SHBrowseForFolder(&bi)) != NULL) //取得IMalloc分配器接口 { if (::SHGetPathFromIDList(pidl, pszBuffer)) //获得一个文件系统路径 { filePath = pszBuffer; } pMalloc->Free(pidl); //释放内存 MessageBox(filePath); } pMalloc->Release(); //释放接口 }}

MFC应用实例:[26]选择文件夹对话框

4、程序运行如下:

MFC应用实例:[26]选择文件夹对话框

5、打开一个文件夹后如图:

MFC应用实例:[26]选择文件夹对话框
© 手抄报圈