zoukankan      html  css  js  c++  java
  • VC++ 目录选择对话框

    打开目录选择对话框要使用到API函数SHBrowseForFolder来实现

    函数原型为:

    LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi);

    其中LPBROWSEINFO结构如下:

    typedef struct _browseinfo
    {
        HWND hwndOwner;
        LPCITEMIDLIST pidlRoot;
        LPSTR pszDisplayName;
        LPCSTR lpszTitle;
        UINT ulFlags;
        BFFCALLBACK lpfn;
        LPARAM lParam;
        int iImage;
    } BROWSEINFO;

    使用例子如下:

    void CConvertDlg::OnBnClickedBtnopen()
    {
        // TODO: 在此添加控件通知处理程序代码
        BROWSEINFO bi;
        TCHAR szPath[MAX_PATH]; 
    
        bi.hwndOwner = NULL;
        bi.pidlRoot = NULL;
        bi.pszDisplayName = szPath; //此参数如为NULL则不能显示对话框
        bi.lpszTitle = "选择一个目录";
        bi.ulFlags = BIF_RETURNONLYFSDIRS;
        bi.lpfn = NULL;
        bi.iImage = 0;   //初始化入口参数bi结束
        LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
        if(pIDList)
        {
            SHGetPathFromIDList(pIDList, path);
            //取得文件夹路径到path里
            m_strPath = szPath;//将路径保存在一个CString对象里,m_strPathName为编辑框绑定的一个值类
    
            //型变量
        }
        UpdateData(FALSE);    //将选择的文件夹路径显示在编辑框中
    }

    参考:百度经验

  • 相关阅读:
    学生信息录入系统
    作业11(增删改查listview)
    作业10(qq增删改查)
    作业9
    作业8
    作业7
    右键打开Windows Terminal
    axure 动态面板中滚动条
    TortoiseSVN服务端的配置与使用
    hfs使用小技巧
  • 原文地址:https://www.cnblogs.com/lit10050528/p/3622587.html
Copyright © 2011-2022 走看看