博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++_封装弹出文件夹选择框
阅读量:7103 次
发布时间:2019-06-28

本文共 712 字,大约阅读时间需要 2 分钟。

hot3.png

由于c++自带的 CFileDialog,只能打开文件,不能打开文件夹,故为了使用方便,封装了一个可以打开文件夹的。

打开文件夹的封装:

bool OpenFolder(HWND hwndOwner/*=NULL*/, CString& strFolder){	//选择文件夹 	BROWSEINFO  info;	info.hwndOwner=hwndOwner;	info.pidlRoot=NULL;	info.pszDisplayName=NULL;	info.lpszTitle=_T("请选择路径");	info.ulFlags=BIF_RETURNONLYFSDIRS|BIF_USENEWUI;	info.lpfn =NULL;	info.iImage =0;	LPCITEMIDLIST pidl=SHBrowseForFolder(&info);	if(!pidl)		return false;	TCHAR  szDisplayName[255];	SHGetPathFromIDList(pidl,szDisplayName);	strFolder = szDisplayName;	//因为不确定传入的路径是否包含\,所以先删除再进行添加 	strFolder.TrimRight(_T("\\"));	strFolder += _T("\\");	return true;}

 

 调用:

CString strFolder;//用于接收返回的路径OpenFolder(NULL ,strFolder);

 

 

 

转载于:https://my.oschina.net/u/2930533/blog/826615

你可能感兴趣的文章
“莫兰迪色系” 高级灰
查看>>
微信小程序的十七个流量入口!
查看>>
YYKit 源码探究
查看>>
[雪峰磁针石博客]python 3.7极速入门教程5循环
查看>>
Nancy之基于Nancy.Hosting.Self的小Demo
查看>>
KDD 18 论文解读 | GraphWave:一种全新的无监督网络嵌入方法
查看>>
shell 在手分析服务器日志不愁?
查看>>
jeesite配置指南(官方文档有坑,我把坑填了!)
查看>>
Nginx 服务器本地缓存配置(学习笔记十五)
查看>>
[WPF]自定义鼠标指针
查看>>
Linux下安装ActiveMQ-5.15.8
查看>>
Spring小知识2
查看>>
基于开源MQTT自主接入阿里云IoT平台(Java)
查看>>
java8中的时间类LocalDate、LocalTime、LocalDateTime使用总结
查看>>
杜跃进:数据安全治理的基本思路
查看>>
C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码...
查看>>
JavaWeb页面增加隐藏版权信息
查看>>
T-SQL学习中--取得部分检索数据记录
查看>>
# 小贼音乐--Swift开发笔记 Step 1
查看>>
【项目管理】低成本提高关键路径成功率
查看>>