MFC打开保存对话框

众所周知,CFileDialog 只能选择要打开的文件而不能选择要打开的文件夹,下面介绍一种像CFileDialog 选择文件一样选择文件夹的方法,代码如下:

 

//
//功能:  像CFileDialog浏览打开文件一样打开文件夹
//参数:
//        pParent:显示浏览窗口的父窗口句柄
//        wndTitle:浏览窗口显示的标题
//Example:
//        CString path = GetBrowseFolder(this->m_hWnd,"请选择要打开的目录");
//
CString  GetBrowseFolder( HWND  pParent , CString  wndTitle)
{
        char                szDir [ MAX_PATH ]  =  { 0 };
        BROWSEINFO        bi;
        ITEMIDLIST        * pidl  =  NULL;

        bi . hwndOwner  =  pParent;
        bi . pidlRoot  =  NULL;
        bi . pszDisplayName  =  szDir;
        bi . lpszTitle  =  wndTitle;
        bi . ulFlags  =  BIF_RETURNONLYFSDIRS;
        bi . lpfn  =  NULL;
        bi . lParam  =  0;
        bi . iImage  =  0;

        pidl  =  SHBrowseForFolder( & bi);
        if( NULL  ==  pidl)
                return  "";
        if( ! SHGetPathFromIDList( pidl , szDir))   
                return  "";

        return  CString( szDir);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值