首页 > 代码库 > C++ 代码片段(积累)

C++ 代码片段(积累)

1、MFC中点出对话框显示另存为的一个路径和文件:

void CPatchDlg::OnBnClickedBtnPath()
{
//一下为选择另存为一个路径
	m_strSavepath = "";
	BROWSEINFO bi;
	ZeroMemory(&bi, sizeof(BROWSEINFO));
	bi.hwndOwner = m_hWnd;
	bi.ulFlags   = BIF_RETURNONLYFSDIRS;
	LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
	BOOL bRet = FALSE;
	TCHAR szFolder[MAX_PATH*2];
	szFolder[0] = _T('\0');
	if (pidl)
	{
		if (SHGetPathFromIDList(pidl, szFolder))
			bRet = TRUE;
		IMalloc *pMalloc = NULL;
		if (SUCCEEDED(SHGetMalloc(&pMalloc)) && pMalloc)
		{
			pMalloc->Free(pidl);
			pMalloc->Release();
		}
	}
	m_strSavepath = szFolder;//选择的文件夹路径
	UpdateData( FALSE ) ;
//以下四行表示选择一个文件 返回文件名和路径;
	//CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
	//if(dlg.DoModal()==IDOK)
	//	m_strSavepath=dlg.GetPathName();
	//UpdateData( FALSE ) ;
}