VC++選擇檔案對話方塊實現
阿新 • • 發佈:2019-01-23
char szFilter[] = {"All Files(*.*)|*.*||"}; CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL); if(dlg.DoModal() == IDOK) { m_strFilePath = dlg.GetPathName(); //m_strFileName = dlg.GetFileName(); m_strFileName = dlg.GetFileTitle(); lpszFileName = (LPCSTR)m_strFilePath; strDir[0] = m_strFilePath; } else { } 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 | 一個或多個標誌的組合,使你可定製對話方塊。要了解這些標誌的描述,可參閱OPENFILENAME結構。如果你改變m_ofn.Flags結構成員,在改變中用OR操作保持預設行為完整。 |
lpszFilter | 一列字串對,指定可以應用到檔案的過濾器。如果指定過濾器,僅被選擇的檔案顯示於檔案列表框中。請參閱說明部分,瞭解如何使用過濾器。 |
pParentWnd | 指向檔案對話方塊物件的父視窗或擁有者視窗。 |
常用的幾個函式:
至於if(dlg.DoModal() == IDOK)後面加一個else是因為我發現沒有的話經常出錯