简化文件浏览对话框的C++类

在开发应用程序时,经常需要使用文件浏览对话框来让用户选择文件或文件夹。尽管这在技术上并不复杂,但每次操作时都需要执行一些几乎不会改变的步骤,比如释放由SHGetPathFromIDList函数返回的ITEMIDLIST指针。为了简化这一过程,可以创建一个C++类来自动处理这些操作,并为其他参数设置默认值。

以下是一个使用CXSBrowseFolder类的示例,这个类是从演示应用程序中提取出来的:

// 创建类实例 CXSBrowseFolder foo; // 使用新的对话框样式 foo.ModifyStyle(BIF_NEWDIALOGSTYLE, 0); // 设置对话框的标题文本 foo.SetTitle("这是标题文本。使用CXSBrowseFolder::SetTitle()来设置它:"); // 返回路径的缓冲区 char path[MAX_PATH]; // 显示对话框并检查返回代码 switch (foo.Show(GetSafeHwnd(), path)) { // 成功 case CXSBrowseFolder::RET_OK: MessageBox(path, "选择了", MB_ICONINFORMATION | MB_TOPMOST); break; // 用户点击取消 case CXSBrowseFolder::RET_CANCEL: MessageBox("操作已取消。", "信息", MB_ICONINFORMATION | MB_TOPMOST); break; // 选择项没有返回路径 case CXSBrowseFolder::RET_NOPATH: MessageBox("选择项没有返回路径!", "糟糕", MB_ICONSTOP | MB_TOPMOST); break; }

这个类虽然简单,但以下是一些方法的概述:

GetStyle() 方法:返回对话框当前的样式。

ModifyStyle() 方法:添加或移除对话框的样式。

SetTitle() 方法:设置对话框中树视图上方显示的文本。

显示文件夹/文件浏览对话框,并根据当前设置返回结果。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485