弹出选择文件夹的对话框 BROWSEINFO 的用法【MFC】

本文介绍如何在Visual Studio 2008中使用BROWSEINFO结构体实现文件夹及文件的选择功能。点击按钮后,会弹出选择文件夹或文件的对话框,并将路径显示在消息框中。
部署运行你感兴趣的模型镜像

以下是在vs2008中编译通过的代码,代码注释详细。要实现的功能是点击“浏览”按钮,即弹出选择文件夹的对话框。并将选择的文件夹或文件路径显示在MessageBox中。

void CMFC_TrojanKillerDlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	BROWSEINFO bi;	                   //BROWSEINFO结构有很多成员参数可以自己设置
	ZeroMemory(&bi,sizeof(BROWSEINFO));     //将以&bi为起始地址,大小为sizeof(BROWSEINFO)的内存区域用0填充
	//bi.ulFlags=BIF_BROWSEINCLUDEFILES;        //设置弹出的对话框属性。此处意思为包含文件。如果不设这个值,默认的是只有文件夹。ulFlags还可以定义很多别的属性
	//bi.ulFlags=BIF_NEWDIALOGSTYLE;            //窗口可以调整大小,有新建文件夹按钮
	//bi.lpszTitle=L"指定要处理的文件夹";       //在窗口内显示提示用户的语句
	LPITEMIDLIST pidl = SHBrowseForFolder(&bi);   //Displays a dialog box enabling the user to select a Shell folder.
	TCHAR * path = new TCHAR[MAX_PATH];
	if(pidl != NULL)
	{
		SHGetPathFromIDList(pidl,path);      //Converts an item identifier list to a file system path
		MessageBox(path);
	}
}
显示文件夹窗口默认显示效果:

加上语句bi.ulFlags=BIF_BROWSEINCLUDEFILES;后不仅可以显示文件夹,还可以显示文件:


加上语句bi.ulFlags=BIF_NEWDIALOGSTYLE;后窗口可以调整大小,并有新建文件夹按钮:


加上语句bi.lpszTitle=L"指定要处理的文件夹"; 后在窗口内显示提示用户的语句:


随意选择一个文件,弹出MessageBox显示文件全路径:


您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值