zoukankan      html  css  js  c++  java
  • 选择文件对话框的封装

    我们经常需要用到“选择文件夹”对话框,相应的API已经很好用,但稍嫌麻烦,所以我专门将其封装了一下,力求一步到位。

    函数封装如下:
    /*****************************************************************
    ** 函数名:GetPath
    ** 输 入: 无
    ** 输 出: CString strPath
    **        strPath非空, 表示用户选择的文件夹路径
    **        strPath为空, 表示用户点击了“取消”键,取消选择
    ** 功能描述:显示“选择文件夹”对话框,让用户选择文件夹
    ****************************************************************/

    CString GetPath()
    {
     CString strPath = "";
     BROWSEINFO bInfo;
     ZeroMemory(&bInfo, sizeof(bInfo));
     bInfo.hwndOwner = m_hWnd;
     bInfo.lpszTitle = _T("请选择路径: ");
     bInfo.ulFlags = BIF_RETURNONLYFSDIRS;   
     
     LPITEMIDLIST lpDlist; //用来保存返回信息的IDList
     lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框
     if(lpDlist != NULL)  //用户按了确定按钮
     {
      TCHAR chPath[255]; //用来存储路径的字符串
      SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成字符串
      strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串
     }
     return strPath;
    }

    调用时只需要用到以下代码:
    CString strPath = GetPath();
    则strPath为用户选择的文件夹路径。如果用户点击了对话框的取消键,则strPath为空字符串("");

  • 相关阅读:
    移动 ProgramDataPackage Cache 文件夹
    Visual Studio 2017
    微信小程序 View:flex 布局
    echarts 模拟迁徙
    树莓派3 Windows 10 IoT Core
    Lumia 830 win10m 启用触摸按键
    青岛旅游
    <孤独者生存(小小辛巴投资手记)>读书笔记
    Python.Unix和Linux系统管理指南
    <低风险投资之路>读书笔记
  • 原文地址:https://www.cnblogs.com/strinkbug/p/659136.html
Copyright © 2011-2022 走看看