MFC篇:打開文件/文件夾

打開文件夾


void CCFileBrowerDemoDlg::OpenFileFolder()
{
	TCHAR szPath[MAX_PATH] = {0};  
	BROWSEINFO bi = {0};   
	bi.hwndOwner = this->GetSafeHwnd();  
	bi.lpszTitle = TEXT("請選擇文件夾");   
	bi.ulFlags = BIF_RETURNONLYFSDIRS;  

	LPITEMIDLIST pidl = SHBrowseForFolder(&bi);  
	if (pidl == NULL)  
	{  
		return;  
	}  

	if (SHGetPathFromIDList(pidl, szPath))  
	{  
		// szPath爲選擇的文件的全路徑
		//SetDlgItemText(IDC_FILEPATH, pszPath);
	}  
}


打開文件

void CCFileBrowerDemoDlg::OpenDefinedFile()
{
	static CString strPath = _T("");
	// TODO: Add your control notification handler code here
	TCHAR szBuf[10240] = {0};
	CString strFilter = _T("PNG(*.png)|*.png|BMP(*.bmp)|*.bmp|All Files(*.*)|*.*|");
	DWORD dwFlags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_NOCHANGEDIR | OFN_ALLOWMULTISELECT;

	CFileDialog OpenDlg(TRUE, NULL, NULL, dwFlags, strFilter, this);
	OpenDlg.m_ofn.lpstrFile = szBuf;
	OpenDlg.m_ofn.nMaxFile = 10240;	
	OpenDlg.m_ofn.lpstrInitialDir = strPath;

	if (IDOK == OpenDlg.DoModal())
	{
		POSITION pos = OpenDlg.GetStartPosition();
		CString strFullPath = _T("");	// 完整路徑,路徑 + 文件名
		int nItem = 0;

		while (pos)
		{
			strFullPath = OpenDlg.GetNextPathName(pos);
		}
	}	
}


發佈了30 篇原創文章 · 獲贊 11 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章