卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

MFC應用實例:選擇文件夾對話框

在這個MFC應用實例中,我們將展示如何在程序中添加選擇文件夾對話框,并讓用戶選擇電腦中的文件夾。 新建一個基于對話框的應用程序 首先,我們需要新建一個基于對話框的應用程序,將其命名為OpenDir

在這個MFC應用實例中,我們將展示如何在程序中添加選擇文件夾對話框,并讓用戶選擇電腦中的文件夾。

新建一個基于對話框的應用程序

首先,我們需要新建一個基于對話框的應用程序,將其命名為OpenDir。

設(shè)計對話框

接下來,我們需要對對話框進行設(shè)計。在對話框上添加一個按鈕,命名為“打開文件夾”,并將其與對應的響應函數(shù)關(guān)聯(lián)。

添加響應函數(shù)

在“打開文件夾”按鈕的響應函數(shù)OnButtonOpendir()中,我們添加以下代碼:

#define BIF_NEWDIALOGSTYLE 0x0040
void COpenDirDlg::OnButtonOpendir()
{
    HWND hwnd  GetSafeHwnd();  //得到窗口句柄
    CString filePath  ""; //得到文件路徑
    LPMALLOC pMalloc;
    if (::SHGetMalloc(pMalloc)  NOERROR)  //取得IMalloc分配器接口
    {
        BROWSEINFO bi;
        TCHAR pszBuffer[MAX_PATH];
        LPITEMIDLIST pidl;
        bi.hwndOwner  hwnd;
          NULL;
          pszBuffer;
        bi.lpszTitle  _T("選擇文件夾"); //選擇目錄對話框的上部分的標題
        bi.ulFlags  BIF_NEWDIALOGSTYLE | BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS;
        bi.lpfn  NULL;
        bi.lParam  0;
        bi.iImage  0;
        if ((pidl  ::SHBrowseForFolder(bi)) ! NULL)  //取得IMalloc分配器接口
        {
            if (::SHGetPathFromIDList(pidl, pszBuffer)) //獲得一個文件系統(tǒng)路徑
            {
                filePath  pszBuffer;
            }
            pMalloc->Free(pidl);  //釋放內(nèi)存
            MessageBox(filePath);
        }
        pMalloc->Release();  //釋放接口
    }
}

運行程序

現(xiàn)在,我們可以運行程序了。點擊“打開文件夾”按鈕后,將會彈出一個選擇文件夾的對話框。

選擇文件夾

在對話框中,用戶可以瀏覽電腦中的文件夾,并選擇一個文件夾。選擇完成后,選擇的文件夾路徑將會在MessageBox中顯示出來。

標簽: