📄 filectrl.cpp
字号:
#include "stdafx.h"
#include "fileCtrl.h"
//////////////////////////////////////////////////////////////////////////
// 构造与析构
CFileCtrl::CFileCtrl()
: m_bIsFile(true),
m_bBufSubFiles(false),
m_bBufSubDirs(false)
{
ZeroMemory(m_ext, 4);
sprintf(m_ext, "txt");
ZeroMemory(m_path, MAX_PATH);
ZeroMemory(m_file, MAX_PATH);
}
CFileCtrl::~CFileCtrl()
{
}
//////////////////////////////////////////////////////////////////////////
// 打开文件对话框
BOOL CFileCtrl::OpenFileDialog()
{
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = NULL;
ofn.hInstance = NULL;
ofn.lpstrFilter = "所有文件(*.*)";
ofn.lpstrCustomFilter = NULL;
ofn.nFilterIndex = 0;
ofn.nMaxCustFilter = 0;
ofn.lpstrFile = m_path;
ofn.nMaxFile = MAX_PATH;
ofn.lCustData = NULL;
ofn.lpfnHook = NULL;
ofn.lpstrDefExt = m_ext;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
TCHAR curDir[MAX_PATH];
GetCurrentDirectory(MAX_PATH, curDir);
ofn.lpstrInitialDir = curDir;
ofn.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST
| OFN_FILEMUSTEXIST | OFN_SHAREAWARE;
if (GetOpenFileName((LPOPENFILENAME)&ofn) == 0)
{
SetCurrentDirectory(curDir);
return false;
}
int pathLen = strlen(m_path);
int fileLen = pathLen - ofn.nFileOffset;
int extLen = pathLen - ofn.nFileExtension;
ZeroMemory(m_ext, 4);
ZeroMemory(m_file, MAX_PATH);
strncpy(m_file, m_path+ofn.nFileOffset, fileLen);
strncpy(m_ext, m_path+ofn.nFileExtension, extLen);
return TRUE;
}
//////////////////////////////////////////////////////////////////////////
// 属性
TCHAR* CFileCtrl::GetSelectedFile()
{
return m_file;
}
TCHAR* CFileCtrl::GetSelectedDir()
{
return m_path;
}
void CFileCtrl::SetBrowseExt(const TCHAR* ext)
{
if (ext != NULL)
{
strcpy(m_ext, ext);
}
}
TCHAR* CFileCtrl::GetBrowseExt()
{
return m_ext;
}
void CFileCtrl::SetBrowseType(BOOL type)
{
m_bIsFile = type;
}
BOOL CFileCtrl::GetBrowseType()
{
return m_bIsFile;
}
void CFileCtrl::SetBufSubDirs(BOOL bVal)
{
m_bBufSubDirs = bVal;
}
void CFileCtrl::SetBufSubFiles(BOOL bVal)
{
m_bBufSubFiles = bVal;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -