zoukankan      html  css  js  c++  java
  • MFC打开文件夹对话框

    在BROWSEINFO中ulFlags中的,BIF_NEWDIALOGSTYLE表示开启文件对话框左下角的"新建文件夹"选项.

    一个亲测有效的打开文件夹的例子:

    void CFileDialogDemoDlg::OnBnClickedButtonImport()
    {
        // TODO: Add your control notification handler code here
            HWND hwnd= GetSafeHwnd();   //得到窗口句柄
            CString filePath= TEXT(""); //得到文件路径
            LPMALLOC pMalloc;
            if (::SHGetMalloc(&pMalloc) == NOERROR) //取得IMalloc分配器接口
            {   
                BROWSEINFO bi;
                TCHAR pszBuffer[MAX_PATH];
                LPITEMIDLIST pidl;   
                bi.hwndOwner = hwnd;
                bi.pidlRoot = NULL;
                bi.pszDisplayName = pszBuffer;
                bi.lpszTitle = _T("选择文件夹"); //选择目录对话框的上部分的标题
           //添加新建文件夹按钮 BIF_NEWDIALOGSTYLE
                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)) //获得一个文件系统路径
                    {
                        filePath = pszBuffer;
                    }
                    pMalloc->Free(pidl); //释放内存
                    MessageBox(filePath);
                }
                pMalloc->Release(); //释放接口
            }
    }
    新战场:https://blog.csdn.net/Stephen___Qin
  • 相关阅读:
    理解MapReduce计算构架
    熟悉HBase基本操作
    爬虫大作业
    第三章 熟悉常用的HDFS操作
    数据结构化与保存
    使用正则表达式,取得点击次数,函数抽离
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    Hadoop综合大作业
    hive基本操作与应用
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/12444279.html
Copyright © 2011-2022 走看看