Ⅰ MFC彈出文件夾選擇對話框問題
這個BROWSERINFO就是選擇對話框的信息(比如要選擇文件的類型,起始目錄,還有就是存儲路徑的字元串等等)LPITEMIDLIST這個暫時沒看出有什麼用。
Ⅱ MFC紼嬪簭錛氱偣鍑繪寜閽寮瑰嚭鏂囦歡閫夋嫨瀵硅瘽妗嗭紝騫跺皢閫夋嫨鐨凾XT鏂囦歡鍐呭硅祴鍊肩粰CSTRING瀵硅薄銆傚苟涓斿湪緙栬緫妗嗕腑鏄劇ず璺寰
UpdateData();
CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"text files|*.txt||");
if(IDOK==dlg.DoModal())
{
m_str=dlg.GetPathName();//m_str涓烘枃鏈妗嗗瑰簲鐨凜STRING綾誨瀷鐨勫彉閲
}
UpdateData(FALSE);
Ⅲ MFC中如何實現點擊一個按鈕,彈出個選擇文件夾的對話框,選擇文件夾後,自動把文件夾內的文件都讀出來
CFile file("路徑名",CFile::modeRead);
char *buf;
DWORD len;
len=file.GetLength();
buf=new char[len+1];
buf[len]=0;
file.Read(buf,len);
file.Close();
MessageBox(buf); //輸出文檔內的字元串
Ⅳ 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中怎樣實現通過點擊按鈕而打開對話框選擇文件,並將選擇的txt文件內容導入到Listcontrol控制項指定的列中。
在按鈕消息函數進行如下調用:
CFileDialog dlg(TRUE);
dlg.SetDefExt(".txt");
if(dlg.DoModal()==IDOK)
{
CString FilePathName=dlg.GetFilePathName();//獲取文件名,在打開文件對話框中選擇迴文件
//獲取文路徑答及文件名後打開
//把文件內容輸出到列表控制項
}