gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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++程序设计有所帮助.

最后此篇关于C++选择文件夹代码的封装的文章就讲到这里了,如果你想了解更多关于C++选择文件夹代码的封装的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com