Windows MFC 開啟文字

2022-02-11 10:42:51 字數 1624 閱讀 8434

mfc的cfiledialog自動封裝了檔案相關的對話方塊,提供一種簡單的檔案開啟和檔案存檔對話方塊功能。

要使用cfiledialog類,首先要構造乙個物件,

專案例項:

cfiledialog filedlg(true, "cfg", "*.cfg", ofn_filemustexist| ofn_hidereadonly, 配置檔案(*.cfg)|*.cfg||", this);
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 指明一些特定風格。 (預設ofn_hidereadonly | ofn_overwriteprompt)

lpszfilter 指明可供選擇的檔案型別和相應的副檔名。

pparentwnd 為父視窗指標。

其中,副檔名應該遵循以下格式:

「chart files (.xlc)|.xlc| worksheet files (.xls)|.xls| data files (.xlc;.xls)|.xlc ; .xls| all files (.)|.||」;

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

常用函式:

建立檔案對話方塊可以使用domodal(),在返回後可以利用下面的函式得到使用者選擇:
cstring cfiledialog::getpathname( ) 得到完整的檔名,包括目錄名和副檔名如:c:\test\test1.txt

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

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

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

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

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

在windows MFC程式設計中如何設定視窗半透明

所需函式原型 bool winapi setlayeredwindowattribut es hwnd hwnd,colorrefcrkey,byte balpha,dword flag 引數含義 hwnd 所要設定的視窗控制代碼。flag 透明方式,可取兩個值 lwa colorkey 其值定義為...

Windows MFC對話方塊會過濾掉鍵盤訊息

建了個對話方塊工程,結果怎麼都響應了不鍵盤的上下左右訊息,又去查了wm keydown和wm syskeydown的區別,以為是這裡出問題。但wm syskeydown是只說按下了f10或者alt,顯然與我的問題無關。最後在論壇中見有人回答說 對話方塊對鍵盤訊息已經過濾,但可以在pretransla...

解決ubuntu下txt文字開啟亂碼問題i

使用 gedit 開啟 windows 系統下編寫的文字檔案時,檔案基本上是亂碼。有些在windows下能夠開啟的txt檔案在ubuntu下用gedit開啟時,中文顯示是亂碼,這是因為編碼方式不同造成的。windows下預設txt檔案的編碼方式是gbk,而ubuntu下的gedit預設沒有對gbk的...