国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

MFC應(yīng)用實(shí)例:選擇文件夾對(duì)話框

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

在這個(gè)MFC應(yīng)用實(shí)例中,我們將展示如何在程序中添加選擇文件夾對(duì)話框,并讓用戶選擇電腦中的文件夾。

新建一個(gè)基于對(duì)話框的應(yīng)用程序

首先,我們需要新建一個(gè)基于對(duì)話框的應(yīng)用程序,將其命名為OpenDir。

設(shè)計(jì)對(duì)話框

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

添加響應(yīng)函數(shù)

在“打開文件夾”按鈕的響應(yīng)函數(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("選擇文件夾"); //選擇目錄對(duì)話框的上部分的標(biāo)題
        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)) //獲得一個(gè)文件系統(tǒng)路徑
            {
                filePath  pszBuffer;
            }
            pMalloc->Free(pidl);  //釋放內(nèi)存
            MessageBox(filePath);
        }
        pMalloc->Release();  //釋放接口
    }
}

運(yùn)行程序

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

選擇文件夾

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

標(biāo)簽: