導航:首頁 > 凈水問答 > mfc打開文件過濾

mfc打開文件過濾

發布時間:2021-12-22 18:26:15

㈠ mfc自帶打開菜單,如何開始讀文件

如果是打開圖片文件或者其它特定格式文件,需要重裝菜單函數,自己處理比較好。
如果是文本文件,MFC的文檔視圖構架中,已經處理了打開文件操作,你可以通過文檔類的序列化方式直接讀取和保存文件。
Doc類的成員函數Serialize中這樣
::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
ar << m_strBookName;
}
else
{
// TODO: add loading code here
ar >>m_strBookName;
}
}
其中m_strBookName是文檔類public成員變數(類型自己根據需要指定),你就可以在視圖類中,通過GetDocuemnt()->m_strBookName訪問讀取的文件內容了。

㈡ 如何在mfc中實現打開一個文件,獲取文件名

這個滿足你的要求s返迴文件路徑#defineDLG_FILTER"ALLFiles(*.*)|*.*||"#defineDLG_EXT"*"CFileDialogdlg(TRUE,_T(DLG_EXT),NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,_T(DLG_FILTER));if(dlg.DoModal()==IDOK){POSITIONpos=dlg.GetStartPosition();while(pos!=0){CStrings=dlg.GetNextPathName(pos);}}下面代碼,可以選擇文件夾,會返迴文件夾的路徑需要自己查找每個文件char*GetPath(HWNDhWnd,char*pBuffer){BROWSEINFObf;LPITEMIDLISTlpitem;memset(&bf,0,sizeofBROWSEINFO);bf.hwndOwner=hWnd;bf.lpszTitle="選擇路徑";bf.ulFlags=BIF_RETURNONLYFSDIRS;//屬性你可自己選擇lpitem=SHBrowseForFolder(&bf);if(lpitem==NULL)//如果沒有選擇路徑則返回0return0;//如果選擇了路徑則復制路徑,返迴路徑長度SHGetPathFromIDList(lpitem,pBuffer);returnpBuffer;}

㈢ MFC打開文件,怎麼設置查找文件的路徑求高手解答........

關於CFile的文件路徑,分兩種方式,一種是絕對路徑,一種是相對路徑。

絕對路徑就是」D:\a\xx.txt"的形式,你可以直接指定,也可以用CFileDialog彈出對話框由用戶界面指定;

相對路徑分默認路徑和工作路徑獲取兩種。你可以用".\aa\xx.txt"指定默認目錄子目錄或者省略前面的.\也是可以的;工作路徑獲取比較靠譜(因為默認路徑可能會造成不確定性,在程序運行過程中可能會被其它原因改變),工作路徑要在程序運行入口的時候通過GetCurrentDirectory函數獲取並保存起來,方便隨時使用,這個是一個例如"d:\yourProject\"的字元串形式,每次拼接子目錄和文件名即可,示例代碼如下:

charpBuf[MAX_PATH];//存放路徑的變數
GetCurrentDirectory(MAX_PATH,pBuf);//獲取程序的當前目錄
strcat(pBuf,"\");
CStringstrtemp=pBuf;

㈣ MFC打開指定文件夾

使用打開文件夾對話框,設置好初始路徑。

㈤ MFC中如何使用CFile打開一個txt文件並讀取其中的內容到

為什麼只讀2個字元:因為mFile.Read(sRead,2),第二個參數指定了最多讀幾個字元。你自己指定了讀兩個字元。

為什麼輸出了文件名。沒有代碼沒法准確判斷。我估計跟緩沖區溢出有點關系,你可以試著把sRead數組改大一點。

㈥ mfc如何打開一個文件夾下的所有的文件

可不可以給我發個,能夠打開已知文件名.pdf的文件程序 也是按鍵觸發

㈦ MFC的文件對話框過濾器怎麼設置

CFileDialog::CFileDialog

CFileDialog(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL
);

參數: bOpenFileDialg 如果為TRUE, 則創建文件打開對話框;如果為FALSE,則構造一個File Save As(另存為)對話框。
lpszDefExt 預設文件擴展名,如果用戶在文件名編輯框中不包含擴展名,則lpszDefExt定義的擴展名自動加到文件名後。如果為NULL,則不添加擴展名。
lpszFileName 初始顯示於文件名編輯框中的文件名,如果為NULL,則不顯示初始文件名。
dwFlags 一個或多個標志的組合,使你可定製對話框。要了解這些標志的描述,可參閱聯機文檔「Win32 SDK」中的OPENFILENAME結構。如果你改變m_ofn.Flags結構成員,在改變中用OR操作保持預設行為完整。
lpszFilter 一列字元串對,指定可以應用到文件的過濾器。如果指定過濾器,僅被選擇的文件顯示於文件列表框中。請參閱說明部分,了解如何使用過濾器。
pParentWnd 指向文件對話框對象的父窗口或擁有者窗口。

說明:
調用此成員函數構造一個標准Windows文件對話框對象,或構造一個打開對話框或構造一個存檔對話框,根據bOpenFileDialog的值決定。
OFN_ALLOWMULTISELECT標志。你應提供文件名緩沖區來放置返回的多個文件名的列表,這通過用一個分配了的緩沖區指針替換m_ofn.lpstrFile來實現,要在創建了CFileDialog之後調用DoModal之前進行此操作。另外,必須用m_ofn.lpstrFile指向的緩沖區位元組數來設置m_ofn.nMaxFile。
為使用戶用滑鼠或鍵盤改變一個Explorer風格對話框的大小,設置OFN_ENABLESIZING標志,這僅當你提供一個鉤子進程或定製模板時才有必要設置。此標志僅與一個Explorer風格的對話框一起工作,舊風格的對話框不可改變大小。
lpszFilter參數用於判斷文件名類型及文件列表框中哪些可被顯示。雙字元串的第一個字元串描述過濾器,第二個串表明使用的文件擴展名,多重擴展可用「;」來指定。字元串由兩個「|」字元結尾,最後是一個NULL。也可使用CString對象作為參數。
例如,Mirosoft Excel 允許用戶用.XLC擴展名(表)或.XLS(工作表)打開文件,Excel過濾器應如下:
static char BASED_CODE szFilter[] =
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";

㈧ 如何在MFC中讓一個按鈕實現打開文件(彈出選擇文件窗口)的功能

1、打開軟體。

㈨ MFC 打開文件的問題

pathname.Replace ("\\","\\\\"); //多餘

㈩ mfc怎麼實現打開文件夾

CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR
lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD
dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
lpszFilter = NULL, CWnd* pParentWnd = NULL );
參數意義如下:
bOpenFileDialog 為TRUE則顯示打開對話框,為FALSE則顯示保
存對話文件對話框。
lpszDefExt 指定默認的文件擴展名。
lpszFileName 指定默認的文件名。
dwFlags 指明一些特定風格。
lpszFilter 是最重要的一個參數,它指明可供選擇的文件類型
和相應的擴展名。
//打開文件對話框窗口 選擇所要打開的記事本文件
void CLoveDlg::OnButtonRead()
{

CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
SetDlgItemText(IDC_EDIT1,str);
//或者使用此語句: GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
}

//保存記事本格式的文件
void CLoveDlg::OnButtonSave()
{
CString str;
CFileDialog FileDlg(FALSE,"txt","QQ網名偽原創",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
FileDlg.m_ofn.lpstrInitialDir="桌面:\\";
if(FileDlg.DoModal()==IDOK)
{
ofstream ofs(FileDlg.GetPathName());
GetDlgItem(IDC_EDIT2)->GetWindowText(str);
/* 或者:CStatic*pst=(CStatic*)GetDlgItem(IDC_EDIT2);//第二個編輯框里的控制項ID
pst->GetWindowText(str); */
ofs<<str; //輸出文本到記事本里
}
}
注意:#include<fstream.h> //保存文本 函數所要的頭文件.

閱讀全文

與mfc打開文件過濾相關的資料

熱點內容
液相用溶劑過濾器 瀏覽:674
納濾水導電率 瀏覽:128
反滲透每小時2噸 瀏覽:162
做一個純凈水工廠需要多少錢 瀏覽:381
最終幻想4回憶技能有什麼用 瀏覽:487
污水提升器采通 瀏覽:397
反滲透和不發滲透凈水器有什麼區別 瀏覽:757
提升泵的揚程 瀏覽:294
澤德提升泵合肥經銷商 瀏覽:929
飲水機後蓋漏水了怎麼辦 瀏覽:953
小型電動提升器 瀏覽:246
半透膜和細胞膜區別 瀏覽:187
廢水拖把池 瀏覽:859
十四五期間城鎮污水處理如何提質增效 瀏覽:915
怎麼測試空氣凈化器的好壞 瀏覽:519
提升泵是幹嘛的 瀏覽:744
布油做蒸餾起沫咋辦 瀏覽:252
廣州工業油煙凈化器一般多少錢 瀏覽:204
喜哆哆空氣凈化器效果怎麼樣 瀏覽:424
油煙凈化器油盒在什麼位置 瀏覽:582