當前位置:首頁 » 文件管理 » 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);

}

熱點內容
天成報警器安裝密碼是多少 發布:2024-11-18 18:37:05 瀏覽:452
阿里雲存儲伺服器買那個 發布:2024-11-18 18:36:27 瀏覽:231
安卓如何保養屏幕 發布:2024-11-18 18:19:42 瀏覽:843
rom編程器 發布:2024-11-18 18:18:12 瀏覽:415
xp文件夾刪除不了 發布:2024-11-18 18:13:03 瀏覽:228
javalinux下載文件 發布:2024-11-18 18:01:46 瀏覽:148
相冊里的照片如何鏡像翻轉安卓 發布:2024-11-18 17:53:17 瀏覽:682
慧編程五子棋 發布:2024-11-18 17:53:12 瀏覽:950
王者榮耀如何把安卓區的帳號改為蘋果區的 發布:2024-11-18 17:43:13 瀏覽:121
linux釋放空間 發布:2024-11-18 17:43:01 瀏覽:493