當前位置:首頁 » 文件管理 » mfc文件夾對話框

mfc文件夾對話框

發布時間: 2022-11-15 21:40:38

『壹』 MFC 路徑選擇對話框

如果是選擇文件的話那麼正如wwwgmc所寫的那樣。
但是如果提問者說的是路徑選擇對話框則應是如下代碼(代碼中採用控制台的形式給出SHBrowseForFolder()的用法):

#include <stdio.h>
#include <Windows.h>
#include <shlobj.h>

int main()
{
BROWSEINFO stInfo = {NULL};
LPCITEMIDLIST pIdlst;
TCHAR szPath[MAX_PATH];
stInfo.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_USENEWUI;
stInfo.lpszTitle= "請選擇路徑:";
pIdlst = SHBrowseForFolder(&stInfo);
if(!pIdlst) return 1;
if(!SHGetPathFromIDList(pIdlst, szPath)) return 1;
printf(szPath);
return 0;
}

『貳』 MFC怎麼創建瀏覽文件夾和文件的對話框

{
CString FilePathName;
CFileDialog dlg(TRUE);///TRUE為OPEN對話框,FALSE為SAVE AS對話框
if(dlg.DoModal()==IDOK)
FilePathName=dlg.GetPathName();
}

文件名保存在了FilePathName里,然後處理吧

『叄』 MFC如何實現文件夾選擇對話框

今天寫一個程序,其中一個功能是用對話框來選擇一個文件夾的路徑。可是以前常用的CFileDialog必須指定到文件,選擇一個文件夾只能繼續打開而不能返回這個路徑,CFileDialog貌視也沒有參數可以弄成選擇文件夾的式樣。上網找了找,CSDN里有人提供下面這個函數的用法:
CString ShowSelectDirectoryDlg(const CString & strDlgTitle) { char szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl;
bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szDir; bi.lpszTitle = strDlgTitle; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0;
pidl = SHBrowseForFolder(&bi); if(pidl == NULL) return _T();
if(!SHGetPathFromIDList(pidl, szDir)) return _T();
這個函數的傳入參數strDlgTitle,就是選擇文件夾對話框的標題欄名稱。只需要模擬這個函數的寫法,添加代碼到特定的消息響應函數里去就可以了。

『肆』 MFC如何實現文件夾選擇對話框

可是以前常用的CFileDialog必須指定到文件,選擇一個文件夾只能繼續打開而不能返回這個路徑,CFileDialog貌視也沒有參數可以弄成選擇文件夾的式樣。上網找了找,CSDN里有人提供下面這個函數的用法: CString ShowSelectDirectoryDlg(const CString & strDlgTitle) { char szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szDir; bi.lpszTitle = strDlgTitle; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; pidl = SHBrowseForFolder(&bi); if(pidl == NULL) return _T(); if(!SHGetPathFromIDList(pidl, szDir)) return _T(); 這個函數的傳入參數strDlgTitle,就是選擇文件夾對話框的標題欄名稱。只需要模擬這個函數的寫法,添加代碼到特定的消息響應函數里去就可以了。

『伍』 MFC如何實現文件夾選擇對話框

今天寫一個程序,其中一個功能是用對話框來選擇一個文件夾的路徑。可是以前常用的CFileDialog必須指定到文件,選擇一個文件夾只能繼續打開而不能返回這個路徑,CFileDialog貌視也沒有參數可以弄成選擇文件夾的式樣。上網找了找,CSDN里有人提供下面這個函數的用法:
CString
ShowSelectDirectoryDlg(const
CString
&
strDlgTitle)
{
char
szDir[MAX_PATH];
BROWSEINFO
bi;
ITEMIDLIST
*pidl;
bi.hwndOwner
=
this->m_hWnd;
bi.pidlRoot
=
NULL;
bi.pszDisplayName
=
szDir;
bi.lpszTitle
=
strDlgTitle;
bi.ulFlags
=
BIF_RETURNONLYFSDIRS;
bi.lpfn
=
NULL;
bi.lParam
=
0;
bi.iImage
=
0;
pidl
=
SHBrowseForFolder(&bi);
if(pidl
==
NULL)
return
_T();
if(!SHGetPathFromIDList(pidl,
szDir))
return
_T();
這個函數的傳入參數strDlgTitle,就是選擇文件夾對話框的標題欄名稱。只需要模擬這個函數的寫法,添加代碼到特定的消息響應函數里去就可以了。

『陸』 MFC 彈出支持文件和文件夾混選的對話框

沒有現成可以用的,只能自己實現;

假設存在,如果你雙擊某個文件夾,那麼是應該選擇還是打開;
所以是沒有直接可以實現這個功能的對話框的,通過自繪等方式肯定可以實現,不過很麻煩;
當你出現這樣的需求的時候應該考慮下你的設計是不是存在問題了。

『柒』 MFC如何實現文件夾選擇對話框

今天寫一個程序,其中一個功能是用對話框來選擇一個文件夾的路徑。可是以前常用的CFileDialog必須指定到文件,選擇一個文件夾只能繼續打開而不能返回這個路徑,CFileDialog貌視也沒有參數可以弄成選擇文件夾的式樣。上網找了找,CSDN里有人提供下面這個函數的用法: CString ShowSelectDirectoryDlg(const CString & strDlgTitle) { char szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = this->m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szDir; bi.lpszTitle = strDlgTitle; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.lParam = 0; bi.iImage = 0; pidl = SHBrowseForFolder(&bi); if(pidl == NULL) return _T(); if(!SHGetPathFromIDList(pidl, szDir)) return _T(); 這個函數的傳入參數strDlgTitle,就是選擇文件夾對話框的標題欄名稱。只需要模擬這個函數的寫法,添加代碼到特定的消息響應函數里去就可以了。

『捌』 MFC怎樣創建能同時瀏覽文件夾和文件的對話框

BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO)); //指定存放文件的默認文件夾路徑
bi.lpszTitle="請選擇文件夾"; //添加提示語句
bi.ulFlags=0x0040 | BIF_EDITBOX; //添加「新建文件夾項」
LPMALLOC pMalloc;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//以默認路徑打開瀏覽文件夾對話框
TCHAR * savepath = new TCHAR[MAX_PATH];
CString savepath2="";
if(pidl != NULL)
{
SHGetPathFromIDList(pidl,savepath);//把文件夾路徑存放在savepath中
savepath2.Format(_T("%s"),savepath);
savepath2=savepath2+"\\";//在路徑後增加斜杠
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//網上說pidl指向的對象用完應該釋放
{
pMalloc->Free(pidl);
pMalloc->Release();
}
} MessageBox(savepath2);//顯示所選文件夾路徑

這是修改後的代碼,添加了第三四行,親測可用

『玖』 MFC彈出文件夾選擇對話框問題

這個BROWSERINFO就是選擇對話框的信息(比如要選擇文件的類型,起始目錄,還有就是存儲路徑的字元串等等)LPITEMIDLIST這個暫時沒看出有什麼用。

『拾』 MFC中怎麼加入一個菜單,點擊菜單運行一個對話框,要詳細一點!!

1、新建一個MFC工程,選擇單文檔。


熱點內容
萬魔斬腳本 發布:2024-10-06 08:23:18 瀏覽:876
華強北耳機連安卓手機下什麼軟體 發布:2024-10-06 08:21:53 瀏覽:251
兒科發現傳染病的應急演練腳本 發布:2024-10-06 08:21:48 瀏覽:598
玩王者榮耀的時候要買哪個配置 發布:2024-10-06 08:19:41 瀏覽:620
imovie怎麼清理緩存 發布:2024-10-06 08:14:30 瀏覽:17
python字典list 發布:2024-10-06 08:14:26 瀏覽:578
amhip訪問 發布:2024-10-06 08:03:54 瀏覽:437
joy加密 發布:2024-10-06 07:53:27 瀏覽:201
結構是由哪種腳本語言填寫的 發布:2024-10-06 07:24:27 瀏覽:744
客戶端反編譯教學 發布:2024-10-06 07:10:42 瀏覽:783