文件夹以及文件混合选择对话框咋实现?
因为默认的打开按钮在选择了单个文件夹的时候是起导航的作用,所以得换一个按钮来做选择。可以用从IFileDialog查询IOleWindow,之后获得窗口句柄来隐藏标准的按钮。之后用IFileDialogCustomize::AddPushButton新加一个按钮,这个新按钮的处理是放在IFileDialogControlEvents::OnButtonClicked里面。IFileDialogControlEvents::OnButtonClicked的IFileDialog这个参数可以直接通过IServiceProvider查询SID_SFolderView来获得IFolderView2,之后就可以通过IFolderView2::GetSelection获得选择的文件和文件名。在用户一个文件或者文件夹都没有选的场合,应该默认为用户选择了当前的文件夹。保存完了选择的文件和文件名之后,调用IFileDialog::Close关闭窗口收工。
推荐阅读
- 白皮书一般是政府发布的正式报告或文件,那么现在物联网、智慧城市等热门领域这么多企业发布的白皮书算咋回事呢
- hadoop中的mapreduce链接(mapreduce chaining)怎样避免中间文件的产生
- 怎样防止U盘内的文件被复制
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- windows资源管理器无法浏览部分安卓手机内文件
- 火车上能建立wifi吗
- 单例模式static函数必须在头文件中实现么
- 从哪方面入门学习关于路由器以及网络的知识
- 为啥我无法保存一个网页的完整html文件
- windows 7怎样使文件系统区分大小写