filedlg.h
来自「The source code samples for chapter 2, 4」· C头文件 代码 · 共 78 行
H
78 行
// filedlg.h
#pragma once
#ifndef __FILEDLG_H__
#define __FILEDLG_H__
#include <tchar.h>
/////////////////////////////////////////////////////////////////////////////
// CFileDialog
class CFileDialog : public OPENFILENAME
{
public:
CFileDialog(LPCTSTR pszFilter,
LPCTSTR pszInitialFile,
LPCTSTR pszDefExt,
DWORD dwFlags)
{
ZeroMemory(this, sizeof(OPENFILENAME));
lStructSize = sizeof(OPENFILENAME);
hInstance = _Module.GetModuleInstance();
lpstrFilter = pszFilter;
if( pszInitialFile )
{
_tcscpy(m_pszFile, pszInitialFile);
}
else
{
*m_pszFile = 0;
}
lpstrFile = m_pszFile;
nMaxFile = sizeof(m_pszFile)/sizeof(*m_pszFile);
Flags = dwFlags;
lpstrDefExt = pszDefExt;
}
private:
TCHAR m_pszFile[MAX_PATH+1];
};
class CFileOpenDialog : public CFileDialog
{
public:
CFileOpenDialog(LPCTSTR pszFilter = 0,
LPCTSTR pszInitialFile = 0,
LPCTSTR pszDefExt = 0,
DWORD dwFlags = OFN_PATHMUSTEXIST)
: CFileDialog(pszFilter, pszInitialFile, pszDefExt, dwFlags)
{}
int DoModal(HWND hWndParent = ::GetActiveWindow())
{
hwndOwner = hWndParent;
return (GetOpenFileName(this) ? IDOK : IDCANCEL);
}
};
class CFileSaveDialog : public CFileDialog
{
public:
CFileSaveDialog(LPCTSTR pszFilter = 0,
LPCTSTR pszInitialFile = 0,
LPCTSTR pszDefExt = 0,
DWORD dwFlags = OFN_OVERWRITEPROMPT)
: CFileDialog(pszFilter, pszInitialFile, pszDefExt, dwFlags)
{}
int DoModal(HWND hWndParent = ::GetActiveWindow())
{
hwndOwner = hWndParent;
return (GetSaveFileName(this) ? IDOK : IDCANCEL);
}
};
#endif // __FILEDLG_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?