时间:2021-05-20
本文实例讲述了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++程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C#文件夹加锁小工具用C#语言实现一个文件夹锁的程序,网上类似的“xxx文件夹xxx”软件很多,但是基本上都是C/C++语言实现的,且都没有提供源码(这个可以理
win7下无法向c盘写入文件,当前用户只能向自己的用户文件夹写入文件,比如MyDocuments,文件夹,用c#得到这些文件夹的目录方法是:复制代码代码如下:s
1.在/var/www中建个测试文件夹cpp在此文件夹中新建c++文件sort.cpp,如下编译并测试执行通过进行以下步骤。2.在cpp文件夹下新建文件cpp.
把图片放进文件夹的方法是: 1、选择要添加到“新建文件夹”图片,右击选择复制(Ctrl+C)。 2、双击打开“新建文件夹”,在空白处右键,选择“粘贴”(Ct
以电脑为例,把图片放进文件夹的方法是: 1、选择要添加到“新建文件夹”图片,右击选择复制(Ctrl+C)。 2、双击打开“新建文件夹”,在空白处右键,选择“