VC中打开对话框选择文件和文件夹

1、选择文件

              CFileDialog dlg ( true , NULL , NULL , NULL , "所有文件 | *.*" , this );

                 if ( IDOK == dlg . DoModal ())

                {

                                 MessageBox ( dlg . GetPathName (), _T ( "" ));

                }

2、选择文件夹

                 BROWSEINFO bi ;            // BROWSEINFO结构体

                 TCHAR Buffer [512] = "" ;

                 TCHAR FullPath [512] = "" ;

                 bi . hwndOwner = m_hWnd ;    // m_hWnd程序主窗口

                 bi . pidlRoot = NULL ;

                 bi . pszDisplayName = Buffer ; // 返回选择的目录名的缓冲区

                 bi . lpszTitle = "Selection" ; // 弹出的窗口的文字提示

                 bi . ulFlags = BIF_RETURNONLYFSDIRS ; // 只返回目录。其他标志看MSDN

                 bi . lpfn = NULL ;                         // 回调函数,有时很有用

                 bi . lParam = 0;

                 bi . iImage = 0;

                 ITEMIDLIST * pidl = :: SHBrowseForFolder (& bi ); // 显示弹出窗口,ITEMIDLIST很重要

                 if (:: SHGetPathFromIDList ( pidl , FullPath ))     // 在ITEMIDLIST中得到目录名的整个路径

                {

                                 // 成功

                }

                 else

                {

                                 // 失败

                }
菊子曰 本文用 菊子曰发布

转载于:https://www.cnblogs.com/sdsunjing/p/vc%e4%b8%ad%e6%89%93%e5%bc%80%e5%af%b9%e8%af%9d%e6%a1%86%e9%80%89%e6%8b%a9%e6%96%87%e4%bb%b6%e5%92%8c%e6%96%87%e4%bb%b6%e5%a4%b9.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值