⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filectrl.cpp

📁 串口开发的另一种方式.rar
💻 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 + -