MFC另存為和保存對(duì)話框:
CString sPath;
TCHAR szFilters[]=_T("All files(*.*)|*.*||");
CFileDialog dlg(nFlag,NULL,_T(m_strTime),OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT,szFilters);
dlg.m_ofn.lpstrInitialDir=_T(
"c:\\"
);
if(IDOK==dlg.DoModal())
{
sPath=dlg.GetPathName();
}
nFlag值為true時(shí),是保存對(duì)話框,為false時(shí)是另存為對(duì)話框,m_strTime為默認(rèn)文件名字。
MFC彈出選擇目錄對(duì)話框:
LPMALLOC lpMalloc;
if(::SHGetMalloc(&lpMalloc)!=NOERROR)
{
AfxMessageBox("選擇下載目錄操作出錯(cuò)");
return;
}
char szDisplayName[_MAX_PATH];
char szBuffer[_MAX_PATH];
BROWSEINFO browseInfo;
browseInfo.hwndOwner=this->m_hWnd;
browseInfo.pidlRoot=NULL;
browseInfo.pszDisplayName=szDisplayName;
browseInfo.lpszTitle="請(qǐng)選擇下載文件的存儲(chǔ)路徑";
browseInfo.ulFlags=BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS;
browseInfo.lpfn=NULL;
browseInfo.lParam=0;
LPITEMIDLIST lpItemIDList;
if((lpItemIDList=::SHBrowseForFolder(&browseInfo))!=NULL)
{
if(::SHGetPathFromIDList(lpItemIDList,szBuffer))
{
if(szBuffer[0]=='\0')
{
AfxMessageBox("Fail to get directory",MB_ICONSTOP|MB_OK);
return;
}
DownFileDirectory=szBuffer;
}
else
{
AfxMessageBox("Fail to get directory!",MB_ICONSTOP|MB_OK);
return;
}
lpMalloc->Free(lpItemIDList);
lpMalloc->Release();
}
CString strMsg;
strMsg.Format("選擇目錄為:%s",DownFileDirectory);
AfxMessageBox(strMsg);
posted on 2013-01-10 16:25
王海光 閱讀(1468)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
MFC