MFC中開啟資料夾的操作

2021-07-25 02:08:22 字數 1291 閱讀 9154

mfc使用檔案對話方塊類cfiledialog封裝了對檔案對話方塊的操作。cfiledialog類的建構函式

原型如下:

explicit cfiledialog(

bool bopenfiledialog,//建立對話方塊的型別,設為ture為建立開啟對話方塊,否則儲存對話方塊

lpctstr lpszdefext = null,//副檔名

lpctstr lpszfilename = null,//是否顯示初始檔名

dword dwflags = ofn_hidereadonly |ofn_overwriteprompt,

lpctstr lpszfilter = null,//檔案過濾器

cwnd* pparentwnd = null, //檔案對話方塊的父指標

dword dwsize = 0,//openfilename

結構體的大小

bool bvistastyle = true//修改對話方塊的風格

);檔案對話方塊也是模態對話方塊,故在開啟時也需要呼叫cfiledialog類的domodal()成員函式。在開啟檔案對話方塊中點了「開啟」或者在儲存檔案對話方塊中點了「儲存」以後,我們可以使用cfiledialog類的成員函式getpathname()獲取選擇的檔案路徑。

cfiledialog

類的成員函式

getfileext():獲得選定檔案的字尾名。

getfilename():獲得選定檔案的名稱,包括字尾名。

getfiletitle():獲得選定檔案的標題,即不包括字尾名。

getfolderpath():獲得選定檔案的目錄。

getnextpathname():獲得下乙個選定的檔案的路徑全名。

getpathname():獲得選定檔案的路徑全名。

getreadonlypref():獲得是否「以唯讀方式開啟」。

getstartposition():獲得檔名列表中的第乙個元素的位置。

需要獲得檔案的路徑全名時,用getpathname()得到的字串是cstring類,故需要先設定乙個cstring類,可儲存檔案路徑的字串。

void c軟體1dlg::onbnclickedkaishi()

// 1是計時器的名稱,300為時間間隔 預設單位是毫秒,null使用ontime函式

}

注意,c軟體1dlg 類中含有函式onbnclicked   我們想實現我們需要的功能,需進行過載,即void c軟體1dlg::onbnclickedkaishi()  函式過載的符號為::

MFC遍歷資料夾

一 獲取指定目錄下當前資料夾和檔案的路徑 以獲取d test 目錄下的資料夾和檔案為例 void 類名 browsecurrentdir cstring strdir stdfile.close 呼叫方式 browsecurrentdir t d test 二獲取指定目錄下的所有檔案的路徑 以獲取d...

開啟資料夾方法

1.qprocess startdetached explorer path 2.qdesktopservices openurl qurl fromlocalfile path 都可以開啟資料夾但有些不同,1是實際是啟動乙個程式,只是可以傳引數,所以要指定用什麼開啟,開啟引數是什麼 這裡裡用exp...

資料夾操作

建立資料夾 char buf 256 getcurrentdirectory 256,buf 獲取程式根目錄路徑 m name.getwindowtext name strcat buf,strcat buf,name createdirectory buf,null 刪除資料夾 char buf ...