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

📄 tools.h

📁 动态场景中运动目标检测提取与跟踪 对新手很有用
💻 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 + -