MFC學習(1) CFileDialog()用法

2022-08-04 00:30:27 字數 2626 閱讀 1707

cfiledialog檔案選擇對話方塊的使用:

首先構造乙個物件並提供相應的引數,建構函式原型如下:

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是最重要的乙個引數,它指明可供選擇的檔案型別和相應的副檔名。

引數格式如: "chart files (*.xlc)|*.xlc|worksheet files (*.xls)|*.xls|data files (*.xlc;*.xls)|*.xlc; *.xls|all files (*.*)|*.*||";

檔案型別說明和副檔名間用 | 分隔,同種型別檔案的副檔名間可以用 ; 分割,每種檔案型別間用 | 分隔,末尾用 || 指明。pparentwnd為父視窗指標。

cstring cfiledialog::getpathname( )得到完整的檔名,包括目錄名和副檔名如:c:/test/test1.txt

cstring cfiledialog::getfilename( )得到完整的檔名,如:test1

cstring cfiledialog::getextname( )得到完整的副檔名,如:txt 

cstring cfiledialog::getfiletitle ( )得到完整的檔名,包括目錄名和副檔名如:test1.txt    

position cfiledialog::getstartposition( )對於選擇了多個檔案的情況得到第乙個檔案位置。 cstringcfiledialog::getnextpathname( position& pos )

對於選擇了多個檔案的情況得到下乙個檔案位置,並同時返回當前檔名。但必須已經呼叫過positioncfiledialog::getstartposition( )來得到最初的position變數。

vc++ cfiledialog 讀取多個檔案cfiledialog dlg(true,     "dem files (*dem)",     null,     ofn_hidereadonly | ofn_overwriteprompt |ofn_allowmultiselect|ofn_enablesizing,     _t("layer files (*.dem;*.tiff;*.bmp;*.jpg)|*.dem;*.tiff;*.bmp;*.jpg;)||"),     null);

dlg.m_ofn.lpstrtitle="**載相關圖層";

//最多可以開啟100個檔案

dlg.m_ofn.nmaxfile = 100 * max_path;

dlg.m_ofn.lpstrfile = new tchar[dlg.m_ofn.nmaxfile]; 

zeromemory(dlg.m_ofn.lpstrfile, sizeof(tchar) * dlg.m_ofn.nmaxfile);

//顯示檔案對話方塊,獲得檔名集合

int retval = dlg.domodal();

if(retval==idcancel) return false; position pos_file; pos_file = dlg.getstartposition(); carrayary_filename;     while(pos_file != null) ary_filename.add(dlg.getnextpathname(pos_file));

//根據副檔名讀取相關檔案 for(int i=0; i

MFC學習(1) CFileDialog()用法

cfiledialog檔案選擇對話方塊的使用 首先構造乙個物件並提供相應的引數,建構函式原型如下 cfiledialog cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword ...

MFC學習筆記1 MFC應用程式架構

最近開始了新的專案,要求在現有專案基礎上進行二次開發以及改進。現有專案使用vc 6.0,mfc開發。mfc的本質就是乙個包含許多微軟已經定義好的物件的類庫,雖然不同的程式功能上千差萬別,但本質上來講都可以劃分為 1.使用者介面設計 2.檔案操作 3.多 4.資料庫 等方面,這也是mfc存在的價值。如...

MFC學習 MFC入門

mfc 原作者姓名 zhoujiamurong include afxwin.h class sample public cframewnd class public public0,initinstance中呼叫 initinstance中呼叫 mb ok sample s new sample ...