文件選擇對話框:CFileDialog

程序以下:函數

CString   FilePathName;spa

//文件名參數定義指針

CFileDialog  Dlg(TRUE,NULL,NULL,對象

                           OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,原型

                           "TXT Files(*.txt)|*.txt|All Files(*.*)|*.*");it

    //打開文件io

    if(Dlg.DoModal() == IDOK)test

    //是否打開成功變量

    {擴展

        FilePathName =  Dlg.GetPathName();

        //取得文件路徑及文件名

        SetDlgItemText(IDC_OutPutFile,FilePathName);

        //在一個地址爲IDC_OutPutFile的editbox中顯示文件名

    }

    else

    //打開失敗處理

    {

        //打開失敗處理

        MessageBox("打開失敗",NULL,MB_OK);

    }

 

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             -----爲父窗口指針。

 

 建立文件對話框能夠使用DoModal(),在返回後能夠利用下面的函數獲得用戶選擇:     CString CFileDialog::GetPathName( ) 獲得完整的文件名,包括目錄名和擴展名如:c: est est1.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變量。 

相關文章
相關標籤/搜索