📄 tools.h
字号:
#ifndef TOOL_H
#define TOOL_H
/*****************************************************************
** 函数名:GetPath
** 输 入: 无
** 输 出: CString strPath
** strPath非空, 表示用户选择的文件夹路径
** strPath为空, 表示用户点击了“取消”键,取消选择
** 功能描述:显示“选择文件夹”对话框,让用户选择文件夹
****************************************************************/
//
CString GetFolderPath()
{
CString strPath = "";
BROWSEINFO bInfo;
ZeroMemory(&bInfo, sizeof(bInfo));
bInfo.hwndOwner =(HWND) AfxGetMainWnd()->m_hWnd;
bInfo.lpszTitle = _T("请选择处理后视频的保存路径: ");
bInfo.ulFlags = BIF_RETURNONLYFSDIRS;
bInfo.pidlRoot = NULL; // set root at Desktop
bInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS;
bInfo.lpfn = NULL;
bInfo.lParam = 0;
LPITEMIDLIST lpDlist; //用来保存返回信息的IDList
lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框
if(lpDlist != NULL) //用户按了确定按钮
{
TCHAR chPath[512]; //用来存储路径的字符串
SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成字符串
strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串
}
return strPath;
}
// 调用时只需要用到以下代码:
// CString strPath = GetPath();
// 则strPath为用户选择的文件夹路径。如果用户点击了对话框的取消键,则strPath为空字符串("");
CString GetFilePath(CString oriPath)
{
CString lpszPathName;
char* name=NULL;
if(oriPath!="")
{
name=(LPTSTR)(LPCTSTR)oriPath;
}
char* szFilters = "avi Files (*.avi)|*.avi|All Files (*.*)|*.*||";
CFileDialog dlg(FALSE,"avi",name,OFN_OVERWRITEPROMPT,szFilters,NULL);
if (dlg.DoModal()==IDOK)
{
lpszPathName=dlg.GetPathName();
if(lpszPathName.IsEmpty())
{
AfxMessageBox("路径错误,请检查文件路径");
return CString("");
}
lpszPathName.MakeLower();
//CString avi(".avi");
if(lpszPathName.Find(".avi")<0)
{
lpszPathName+=".avi";
}
return lpszPathName;
}
else
{
return oriPath;
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -