📄 directorydialog.h
字号:
// DirectoryDialog.h: interface for the CDirectoryDialog class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DIRECTORYDIALOG_H__5B953025_E5B1_49CE_AA52_F77523A324B8__INCLUDED_)
#define AFX_DIRECTORYDIALOG_H__5B953025_E5B1_49CE_AA52_F77523A324B8__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////
// 文件名 : DirectoryDialog.h
// 描述 : 此类处理用户选择对话框
/////////////////////////////////////////////////////////////////////////
class CDirectoryDialog
{
public:
enum Flag{SD_DIR=1,SD_FILE=2,SD_DIR_FILE=3};//SD_DIR只能选择文件夹SD_FILE=2只能选择文件SD_DIR_FILE可以同时选择文件及文件夹
//构造析
CDirectoryDialog();
CDirectoryDialog(CString strIniKeyName);
virtual ~CDirectoryDialog();
//弹出一个对话框,让用户选择文件夹
CString ShowDirectoryTree(CWnd *pBuddyWnd);//入口参数是相关联的窗口
CString ShowDirectoryTree(CString strIniDir="");//入口参数是初如值
//写或读取注册表(或ini)中的值
void SetDefaultDirectory(CString strDefaultDirectory);
CString GetDefaultDirectory();
HWND m_hwndOwner; //父窗口句柄
CString m_strTitle; //标题
enum Flag m_ulFlags; //SD_DIR,值为1,只显示文件夹;SD_DIR_FILE,值为3显示文件和文件夹,默认只显示文件夹
//注册表或ini文件的相关信息,记录上次打开的文件夹
CString m_strIniAppName ;
CString m_strIniKeyName ;
private:
void init();//初化成员变量
static CString GetShortDir(CString strDir,long nMaxLength =45);//将长路径名转化成短路径名
UINT GetStyle(enum Flag flag);//将风格转化成SHBrowseForFolder的风格
CString GetDefaultTitle();//得到默认标题
HWND GetDefaultOwnerHwnd();//得到默认窗口
//回调函数,由SHBrowseForFolder调用
static int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
static UINT m_currentStyle;
};
#endif // !defined(AFX_DIRECTORYDIALOG_H__5B953025_E5B1_49CE_AA52_F77523A324B8__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -