MFC實現選擇資料夾的對話方塊
阿新 • • 發佈:2018-12-29
由於MFC自帶的CFileDiag是隻能選擇檔案的,無法定製只能選擇資料夾的對話方塊。然後當你僅僅需要操作資料夾,批量操作檔案時,你需要用WIN32API實現,以下貼出製做該對話方塊的函式。
void CQQICKView::OnMmm()
{
// TODO: Add your command handler code here
CString m_FileDir;
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_FileDir = szFolder;
TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
TRACE(m_FileDir);
TRACE("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
}