当前位置: 首页 > 编程笔记 >

C++选择文件夹代码的封装

贾兴学
2023-03-14
本文向大家介绍C++选择文件夹代码的封装,包括了C++选择文件夹代码的封装的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C++选择文件夹代码的封装,分享给大家供大家参考。具体方法如下:

该实例分为DirDialog.h头文件与DirDialog.cpp源文件。

DirDialog.h头文件代码如下:

#pragma once  

#ifndef __DIRDIALOG_H_HH  

#define __DIRDIALOG_H_HH 

#include <Shlobj.h>  

class CDirDialog  {  protected:      BROWSEINFO m_bi;      char m_szDisplayName[MAX_PATH]; //显示名称      char m_szPath[MAX_PATH]; //选择的目录    public:      //显示对话框      BOOL DoBrowse(HWND hwndOwner, LPTSTR pszDisplayName);        LPCTSTR GetPath(){return m_szPath;};        CDirDialog(void);      ~CDirDialog(void);  };    #endif

DirDialog.cpp源文件代码如下:

#include "DirDialog.h" 

CDirDialog::CDirDialog(void)  {      ::ZeroMemory((void*)&m_bi, sizeof(BROWSEINFO));      memset(m_szDisplayName, 0, MAX_PATH);      memset(m_szPath, 0, MAX_PATH);      m_bi.hwndOwner = NULL;      m_bi.pidlRoot = NULL;      m_bi.lpszTitle = "请选择文件夹";      m_bi.ulFlags = BIF_RETURNONLYFSDIRS ;      m_bi.lpfn = NULL;      m_bi.lParam = NULL;      m_bi.iImage = NULL;  }    BOOL CDirDialog::DoBrowse(HWND hwndOwner, LPTSTR pszTitle)  {      m_bi.hwndOwner = hwndOwner;      m_bi.lpszTitle = pszTitle;      PIDLIST_ABSOLUTE pItem = ::SHBrowseForFolderA(&m_bi);      if (pItem != NULL)      {          ::SHGetPathFromIDListA(pItem, m_szPath);          return TRUE;      }            return FALSE;  }    CDirDialog::~CDirDialog(void)  {  }

使用时的代码如下:

CDirDialog dir;  

if (dir.DoBrowse(hwndDlg, "title"))  

{  

 ::MessageBoxA(hwndDlg, dir.GetPath(), "", MB_OK);  

}

希望本文所述对大家的C++程序设计有所帮助。

 类似资料:
  • 问题内容: 我是Java的新手。我正在尝试动态选择文件位置以保存我的项目的结果(将在我的项目开始时启动)。我研究了一些FileDialog示例,但是每个示例都允许我选择文件而不是文件夹。 谁能帮我提供一个示例(或)链接到同一示例吗? 问题答案: 您可以尝试执行以下操作(如此处所示:使用JFileChooser选择目录):

  • 本文向大家介绍winform 实现选择文件和选择文件夹对话框的简单实例,包括了winform 实现选择文件和选择文件夹对话框的简单实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 选择文件夹对话框,如果想默认一个文件夹,在click事件一开始添加以下代码: 呵呵,是不是很简单呢。 以上这篇winform 实现选择文件和选择文件夹对话框的简单实例就是小编分享给大家的全部内容了,希望能给大家一

  • 当我看到这篇文章时,我一直在网上研究如何使用android webview上的文件输入,但我在使用它时遇到了太多的错误,请有人帮助我,因为我是android的新用户,不太确定是否在正确的地方使用代码。 以下是答案的链接 https://stackoverflow.com/a/42385128 photoFile(Uri中的fromFile(java.io.FILE)不能应用于(Fi))

  • 我正在尝试Visual Studio代码。关于VisualStudio代码的一切在我看来都很酷,除了一件事:。git文件夹/文件隐藏在Visual Studio代码中。 我经常通过修改配置文件来更改Git设置。看不到文件真的很烦人。 有没有办法显示文件?

  • 本文向大家介绍Python文件夹与文件的操作实现代码,包括了Python文件夹与文件的操作实现代码的使用技巧和注意事项,需要的朋友参考一下 有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块, 导入的方法是: import os 一、取得当前目录 s = os.getcwd() # s 中保存的是当前目录(即文件夹) 比如运行abc.py,那么输入该命令就会返回abc

  • 点击“添加文件”或“添加 URL”来添加导入源文件。然后,为源文件选择“编码”。 【注意】你可以同时导入多个文件。 ODBC 设置一个 ODBC 数据源连接 安装合适的 ODBC 管理员和文件相关的驱动程序。 在应用程序,选择“工具程式”->“ODBC 管理员”;或在 Navicat 中,在这个步骤点击“ODBC 管理员”按钮。 在“用户数据源名”选项卡点击“添加”按钮。 选择合适的 ODBC 驱