CE选择目录对话框(转)
2024-10-11 12:29:25
本文转载于http://blog.163.com/zhaojun_xf/blog/static/30050580201132221118479/
在Wince下要打开目录对话框需要调用函数SHBrowseForFolder(),调用此函数一定要注意在工程中添加静态库ceshell.lib。否则会报错无法连接,具体的方法是选择工程的属性->“连接器”->“输入”->“附加依赖项”,输入ceshell.lib,即可。
添加静态库:
BOOL BrowseDirectory(TCHAR *title,TCHAR *fileDir) { TCHAR dir[MAX_PATH]; ZeroMemory(&dir,MAX_PATH); BROWSEINFO bi; bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.pszDisplayName = dir; bi.lpszTitle = title; bi.ulFlags = ; bi.lpfn = NULL; bi.lParam = NULL; bi.iImage = NULL; if (!SHGetPathFromIDList(SHBrowseForFolder(&bi),dir)) { return (FALSE); } lstrcpy(fileDir,dir); return (TRUE); }
在需要的地方调用此函数即可,title为在对话框上显示的标题,fileDir为读取的目录项。
运行结果:
下面转载内容出自:http://blog.csdn.net/scu_zhongxq/archive/2010/03/07/5354003.aspx
在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法:
选择目录对话框
//选择目录按钮 void CDcPackerDlg::OnBnClickedDecgen() { char szPath[MAX_PATH]; //存放选择的目录路径 CString str; ZeroMemory(szPath, sizeof(szPath)); BROWSEINFO bi; bi.hwndOwner = m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szPath; bi.lpszTitle = "请选择需要打包的目录:"; bi.ulFlags = ; bi.lpfn = NULL; bi.lParam = ; bi.iImage = ; //弹出选择目录对话框 LPITEMIDLIST lp = SHBrowseForFolder(&bi); if(lp && SHGetPathFromIDList(lp, szPath)) { str.Format("选择的目录为 %s", szPath); AfxMessageBox(str); } else AfxMessageBox("无效的目录,请重新选择"); }
选择文件对话框
CString CDcPackerDlg::BootOpenDialog() //返回选择的文件名称 { CString strFile = _T(""); CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL); if (dlgFile.DoModal()) { strFile = dlgFile.GetPathName(); } return strFile; }
最新文章
- js弹出框,禁刷新
- 【python】用setup安装自定义模块和包
- Draggabilly – 轻松实现拖放功能(Drag &; Drop)
- su su- sudo的区别
- Understand:高效代码静态分析神器详解(转)
- UVA 393
- 学习KnockOut第二篇之Counter
- Enable Access Logs in JBoss 7 and tomcat--转
- Web分析日志
- IE,火狐,谷歌浏览器下js判断滚动条是否已拉到页面最底部
- 【HDU 5532 Almost Sorted Array】水题,模拟
- [转]Numpy使用MKL库提升计算性能
- 吃奶酪 洛谷 p1433
- <;c:forEach 的常用整理
- Python函数声明以及与其他编程语言数据类型的比较
- LeetCode算法题-Number Complement(Java实现-五种解法)
- wireshark基础学习—第一部分wireshark的基础知识
- Breathe me
- 《JavaScript 高级程序设计》第一章:简介
- luoguP1064 金明的预算方案 (有依赖的背包问题)