當前位置:首頁 » 文件管理 » mfccfiledialog文件夾

mfccfiledialog文件夾

發布時間: 2022-05-08 17:02:34

❶ mfc序列化保存文件和CFileDialog保存文件的區別

序列化就是按自己定義的格式讀寫二進制文件。
後者是讀寫文件的類

❷ 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 dlg( FALSE );

if( IDOK == dlg.DoModal() )
{
AfxMessageBox( dlg.GetPathName() );
}

用CFileDialog dlg(FALSE,NULL,NULL,NULL,NULL);我這里也沒有報錯,但參數里並不是全NULL,裡面有個dwFlags,默認參數並不是為NULL。

❹ 關於MFC的CFileDialog類的問題

太復雜,CFileDialog本來就有個文件同名提示選項,
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );

OFN_OVERWRITEPROMPT?

❺ MFC彈出打開文件對話框(CFileDialog)

CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"AllFiles(*.*)|*.*||",AfxGetMainWnd());
dlg.m_ofn.lpstrInitialDir="C:\";

設置默認路徑為c:\.

打開文件夾的風格是系統默認的吧,不能修改吧

❻ 【MFC】CFileDialog filedlg(true);什麼意思

CFileDialog filedlg(true);表示創建一個打開文件的對話框

其他性質不變。

函數原型:

CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName =

NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter =

NULL, CWnd* pParentWnd = NULL );

BOOL bOpenFileDialog
該參數為指定true是Open,false是Save as 對話框。

LPCTSTR lpszDefExt
添加到沒有擴展名文件上的擴展名

LPCTSTR lpszFileName
應該初始選定的文件名

DWORD dwFlags
自定義標志,當要進行多選的時候添加OFN_ALLOWMULTISELECT

LPCTSTR lpszFilter
File of type中的過濾參數

❼ MFC 單文檔中CFileDialog的具體用法步驟

創建工程的時候,默認就有工具條的。
如果你還要加的話,
資源編輯器中編輯,在oncreate函數中,添加代碼掛接資源即可。

❽ 如何讓CFileDialog同時選擇文件和文件夾

提供你一個思路:
自己實現一個對話框程序,對話框中枚舉出目錄和文件,然後選擇等可以自己想怎麼處理就怎麼處理 :)

枚舉用CFileFind等MFC類就可以。

❾ MFC,cfiledialog怎麼打開多個圖

打開多圖示例代碼:

	CFileDialogff(TRUE,NULL,NULL,OFN_ENABLESIZING|OFN_ALLOWMULTISELECT|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST,_T("AllFiles(*.*)|*.*||"),this);
intMIN_FILE_NUMBER=20;//最多同時選中文件數
ff.m_ofn.lpstrFile=newTCHAR[_MAX_PATH*MIN_FILE_NUMBER];//重新定義緩沖區大小
memset(ff.m_ofn.lpstrFile,0,_MAX_PATH*MIN_FILE_NUMBER);//初始化定義的緩沖區
ff.m_ofn.nMaxFile=_MAX_PATH*MIN_FILE_NUMBER;
CStringdir;
if(IDOK==ff.DoModal())
{
POSITIONpos=ff.GetStartPosition();
while(NULL!=pos)
{
dir=ff.GetNextPathName(pos);//獲取文件名
;//這里自己將文件名保存到需要的地方
}
}

❿ MFC中請問能不能用一個CFileDialog同時打開多個文件那樣是怎麼設置的呢

CFileDialog 打開多個文件2006-12-01 17:28從CFileDialog派生一個類MFileDlg: 頭文件://///////////////////////////////////////////////////////////////////////////

// MFileDlg dialogclass MFileDlg : public CFileDialog

{

DECLARE_DYNAMIC(MFileDlg)public:

MFileDlg(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs

LPCTSTR lpszDefExt = NULL,

LPCTSTR lpszFileName = NULL,

DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,

LPCTSTR lpszFilter = NULL,

CWnd* pParentWnd = NULL);

int DoModal();

virtual ~MFileDlg();

protected:

//{{AFX_MSG(MFileDlg)

// NOTE - the ClassWizard will add and remove member functions here.

//}}AFX_MSG TCHAR* m_pszFile;

////////

DECLARE_MESSAGE_MAP()}; 類實現://///////////////////////////////////////////////////////////////////////////

// MFileDlgIMPLEMENT_DYNAMIC(MFileDlg, CFileDialog)MFileDlg::MFileDlg(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, LPCTSTR lpszFileName,

DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :

CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)

{

m_pszFile = new TCHAR[2048]; //set a 2K buffer to hold selected files

m_pszFile[0] = '\0'; //initialize pointer;

}

BEGIN_MESSAGE_MAP(MFileDlg, CFileDialog)

//{{AFX_MSG_MAP(MFileDlg)

// NOTE - the ClassWizard will add and remove mapping macros here.

//}}AFX_MSG_MAP

END_MESSAGE_MAP()MFileDlg::~MFileDlg()

{

if (m_pszFile != NULL)

delete [] m_pszFile; //cleanup

}int MFileDlg::DoModal()

{

ASSERT_VALID(this);

ASSERT(m_ofn.Flags & OFN_ALLOWMULTISELECT); //make sure multiple file selection is on m_ofn.lpstrFile = m_pszFile; //initialize the OPENFILENAME structure

m_ofn.nMaxFile = 2048;

return CFileDialog::DoModal();

} 具體使用: MFileDlg dlg( TRUE,_T("TXT"),_T("*.TXT"),

OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,

_T("文本文件 (*.txt)|*.txt所有文件 (*.*)|*.*|"));

if(dlg.DoModal()!=IDOK) return FALSE; //取消操作 POSITION pos = dlg.GetStartPosition();

while (pos != NULL)

{

CString strPath = dlg.GetNextPathName(pos);

if (strPath.Find(":\\\\") == 1 && strPath.GetLength() > 4)

{

// this means we have an invalid path that looks like this:

// C:\\cda.dgl

// get rid of extra slash

CString temp;

temp = strPath.Left(3);

temp += strPath.Mid(4);

strPath = temp;

}

m_listFileNames.AddTail(strPath); //CStringList m_listFileNames

TRACE(_T("GetOpenFileName returned %s Files\r\n"),strPath);

}

熱點內容
怎麼確認機動車解壓 發布:2025-02-01 20:58:07 瀏覽:45
怎樣配置ntp伺服器地址和埠號 發布:2025-02-01 20:57:53 瀏覽:463
java培訓哪家就業好 發布:2025-02-01 20:53:27 瀏覽:424
安卓什麼游戲下載軟體好用 發布:2025-02-01 20:53:26 瀏覽:374
sql語句時間段查詢 發布:2025-02-01 20:36:12 瀏覽:637
迷你世界體驗碼密碼是多少 發布:2025-02-01 20:10:18 瀏覽:533
安卓的手機玩吃雞怎麼調節 發布:2025-02-01 20:06:59 瀏覽:22
雲伺服器12位ip 發布:2025-02-01 20:00:07 瀏覽:472
腳本微信取關 發布:2025-02-01 19:35:01 瀏覽:155
如何用雲伺服器部署svn 發布:2025-02-01 19:33:20 瀏覽:990