选择文件夹对话框

MFC对话框选择多个文件及选择文件夹 本文主要介绍:MFC中,如何用对话框选择多个文件,以及如何选择文件夹(不选择文件)。 一、对话框选择多个文件 对话框的设置比较简单,只需在对话框风格中添加 OFN_ALLOWMULTISELECT即可,关键是点击确定后如何读取多个文件的路径,程序如下: char strExt[_MAX_EXT] = "tif";//设置读取的文件类型 CString szFilter = "GeoTif 阅读详情
选择文件夹对话框
       在一个项目中用到了选择文件夹对话框,为了方便特意写了函数来显示并返回用户选择的文件夹的路径;其中具体参数的含义可以参考http://tag.youkuaiyun.com/tag/browseinfo.xml
       调用时只需要:
if( FolderBrowseDialog( strUserSelectPath, TEXT(" 选择资源文件夹 "), 0, (LPCTSTR)strCurPath ) )
{
         // 用户选择了目录并单击确定
}
 
int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)// 回调函数
{
    if (uMsg==BFFM_INITIALIZED)
    {
        // 设置初始目录
        if (lpData)
            SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)lpData);
    }
    return TRUE;
}
 
// 显示选择文件夹函数,当然首先需要确认文件夹存在,
// 如果用户选择了取消,返回为假,否则将返回真
BOOL FolderBrowseDialog(CString &folderSel,      // 用户选择的文件夹的路径
                        LPCTSTR title = 0,  // 选择框上方的提示
                        LPCTSTR root = 0,  // 设置初始的根路径
                        LPCTSTR curSel = 0) // 设置当前选择的目录
{
    ITEMIDLIST *ppidl = NULL;
 
    // 设置根目录
    if ( root != 0 )
    {
        OLECHAR szOleChar[MAX_PATH];  
        LPSHELLFOLDER IpsfDeskTop;    
        ULONG ulEaten, ulAttribs;  
        HRESULT hres;  
        SHGetDesktopFolder(&IpsfDeskTop);  
        wcscpy( szOleChar, (LPCTSTR)root );
        //MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,path,-1,szOleChar,sizeof(szOleChar));  
        hres = IpsfDeskTop->ParseDisplayName(NULL, NULL, szOleChar, &ulEaten, &ppidl, &ulAttribs);  
        hres=IpsfDeskTop->Release( );      
        if (FAILED(hres)) ppidl = NULL;
    }
 
    BROWSEINFO bi;
    TCHAR Buffer[MAX_PATH];
    // 初始化入口参数 bi 开始
    bi.hwndOwner = NULL;
    bi.pidlRoot = ppidl;
    bi.pszDisplayName = Buffer;// 此参数如为 NULL 则不能显示对话框
    bi.lpszTitle = title;
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    bi.lParam = (LPARAM)curSel;
    bi.lpfn = BrowseCallbackProc;
    bi.iImage = 0;
    // 初始化入口参数 bi 结束
    LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);// 调用显示选择对话框
    if (pIDList)
    {
        SHGetPathFromIDList(pIDList, Buffer);
        folderSel = Buffer;
        GlobalFree(pIDList);
        return TRUE;
    }
    return FALSE;
}
 
WPF实现FileDialog选择文件夹对话框功能 WPF自带FileDialog选择文件夹对话框,但是有时候为了界面风格统一,需要改变其自带样式,这就比较困难了。所以自己实现了一个简易的选择文件夹对话框功能,可根据需要自行改变样式,参考文章(https://www.codeproject.com/Tips/673071/WPF-TreeView-with-WinForms-Style-Fomat、https://www.cnblogs.com/D... 阅读详情

相关推荐

javascript 选择文件夹对话框(web)

没有办法,实践证明最好的解决办法是自己写一个OCX控件,这样就只要注册一下OCX控件就可以了,同时OCX控件的可扩展性非常大,也就是给vc\delphi这些程序的功能引入到web中,其功能可想而知! 这里不说明OCX开发的过程了,给自己写的OCX控件共享一下,希望能给一些朋友提供帮助。 这个OCX控件中提供了一个getFiles()方法,只要获取控件对象,然后调用getFiles()方法就可以获取对应路径下的所有文件,如下图: 该控件可以选择任意盘符下的任意文件夹,图中最下面的按钮时web中的input,通过web中的js方法来获取文件列表,OCX 的getFiles()方法返回文件名串,样式

cmd 弹框

在开发dll时,有时候需要进行弹框操作,但是又不是主线程如何弹框 可以调用cmd命令方式弹出对话框 WinExec(PChar('cmd.exe /c msg %username% /time:50 "'+strxml_out+'"' ),SW_HIDE); ...

songconglai的专栏 1978

STM32CubeMX和华为LiteOS Studio开发STM32

传统的STM32的开发通常使用Keil/IAR这类开发软件,随着物联网时代的到来,传统嵌入式的发展不断向物联网方向靠拢,而Keil/IAR这类开发软件无法满足IoT一站式的开发,华为LiteOS Studio结合STM32CubeMX可以快速,高效地进行物联网开发,本文提供一种开发思路及环境的配置方法。...

weixin_45680600的博客 2832

了解文件(夹)选择对话框

了解文件(夹)选择对话框,适合给那些电脑零基础的超级小白看。

m0_55213577的博客 2220

【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】

Halcon 的算子(operators)按照功能被系统性地划分为多个类别,官方文档中目前(Halcon 22.11 版本)共有 19 个主分类,每个主分类下还有若干子分类。 本人在此对这19个分类的常用核心算子进行了一系列的总结,且本人在文章最后还总结了一些案例经验。 注意: ​​​​​​​跨分类调用:某些算子可能在多个分类中,但官方文档中会明确其主分类。 例如: read_image(文件操作)常被其他分类(如图像处理)的示例调用,但其核心功能是文件读取。

qq_3517289697的博客 3913

图像传感器与信号处理——SFR算法/ISO 12233解读

图像传感器与信号处理——SFR算法图像传感器与信号处理——SFR算法1. 前言2. 基于视觉的分辨率测量方法3. 基于边界的SFR算法4. 基于正弦波的SFR算法 图像传感器与信号处理——SFR算法 SFR的全称是Spatial Frequency Response,空间频率响应。介绍SFR算法的参考文献主要是ISO 12233这篇英文文档。和读一般的论文感觉不同,文档读起来更加晦涩难懂,可能是因...

weixin_44580210的博客 1万+

cmd命令行四种弹窗命令

cmd命令行四种弹窗命令 mshta vbscript:msgbox("到点了!快去踮脚!!",64,"提示")(window.close) msg %username% /time:10 "要显示的内容" mshta vbscript:msgbox("要显示的内容",64,"要显示的标题")(window.close) mshta vbscript:CreateObject("Wscript.Shell").popup("要显示的内容",7,"要显示的标题",64)(window.close) m

迷逝 1万+

从药企研发视角:如何用GNN提升分子水溶性预测准确率?PyTorch+ESOL全案例

本文从药企研发的实际需求出发,详细介绍了如何利用图神经网络(GNN)技术,结合PyTorch框架和ESOL数据集,构建并优化分子水溶性预测模型。通过完整的代码案例,深入探讨了分子图数据处理、GNN架构设计、超参数调优以及模型评估与解释等关键环节,旨在帮助研发团队提升预测准确率,从而更高效地筛选和优化候选药物分子。

weixin_29054399的博客 292

python通过对话框实现文件或文件夹路径的选择并获得路径

在通过python保存一些文件的时候 ,想要通过对话框的方式来添加文件路径网上可以查到很多资料,但是如果要通过对话框的方式来添加文件夹路径却查了好久也没有查到,最后经过一番查找加理解,终于实现了,我猜没有查到的原因可能是需要文件夹的人比较少吧,大部分直接添加了文件路径。 接下来介绍一下在python中如何通过对话框的方式获得文件和文件夹的路径 首先导入thinter 然后一次打开文件夹选择的对话...

weixin_42267761的博客 7万+

PCB铺铜技巧如何铺铜经验总结

铺铜是指在PCB电气层添加整块的铜皮;铺铜包括电源层铺铜,地层铺铜和信号走线层空闲区域铺铜;铺铜是PCB设计的一个重要的环节。

fydar的博客 1万+

MGC3130 3D手势识别传感器原理图设计,已量产(交互传感器)

最近在落地一款互动艺术装置的控制模块,选了 Microchip 的 MGC3130 做核心 —— 这颗芯片算是 GestIC® 近场传感技术的 “熟面孔” 了,把 3D 手势识别、运动跟踪的信号处理都集成在一颗芯片里,0-10cm 的检测距离刚好适配桌面级互动场景,挥挥手就能控设备的体验,放在艺术装置里确实很出效果。今天扒一下实际跑通的原理图,聊聊每个模块的设计思路。

不脱发的程序猿 369

MFC弹出文件选择对话框、文件夹选择对话框例程

MFC弹出文件选择对话框、文件夹选择对话框 前提,在MFC项目中使用 文件选择对话框 参考该博客 文件夹选择对话框 CFolderPickerDialog dlg_folder; CString dir; if (dlg_folder.DoModal() == IDOK) { dir = dlg_folder.GetPathName(); } else { dir = ""; } ...

simple的博客 2513

Claude Code(1):手把手教你安装配置 Claude Code

Claude Code 是一款强大的 AI 编程助手工具,能够帮助开发者提升编码效率。本文将详细介绍如何在不同操作系统上安装和配置 Claude Code,让你快速上手这款工具。

blues_C的博客 752

PyQt:1个文件选择对话框实现既可以选择文件,也可以选择文件夹

目录 1.背景 2.解决方案 2.1.QTreeview直接实现 2.2.QTreeview+QDialog实现 附:取消多余的列 1.背景 在使用PyQt写GUI时,有一个操作是比不可少的:用户选择输入或输出路径。一般我们使用QtWidgets.QFileDialog.getExistingDirectory选择文件夹: 使用QtWidgets.QFileDialog.getOpenFileName选择文件: 上述2种方法需要放2个按钮(1个负责输入文件,......

地理信息系统、摄影测量与遥感、人工智能 1万+

关键!C#工业上位机界面设计终极指南:WinForm/WPF怎么选?【工业实战完整版,无废话选型+避坑+落地技巧】

工业上位机UI选型指南:WinForm与WPF核心对比 摘要: 本文基于工业实战视角,对比WinForm与WPF在工业上位机开发中的适用性。WinForm凭借GDI+原生渲染、极致兼容性(完美支持Win7/XP)、低资源占用和硬件底层调用优势,成为老旧工控机、简单监控系统和7×24小时运行设备的首选。WPF则依托DirectX硬件加速、MVVM架构和强大可视化能力,更适合复杂可视化大屏、3D模拟等高端场景及需要长期迭代的大型项目。核心选型原则是:优先考虑稳定性与兼容性,WinForm解决"能不能用

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 727

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Qt文件夹选择对话框

文件夹选择对话框是使用getExistingDirectory()函数 来自头文件QFileDialog getExistingDirectory(QWidget *parent= nullptr, const QString &caption= QString(), const QString &dir= QString(), QFileDialog::Optionso...

@凌晨三点半的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Windows文件夹选择对话框

#include <string> #include <iostream> #include <shlobj.h> #include <tchar.h> using namespace::std; int main() { string strInitFolder = _T(""); TCHAR szPath[MAX_PATH] = _T(""); LPMALLOC lpMalloc = NULL; string strFolder = _T(..

huxyc的博客 848

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C#选择文件的对话框和选择文件夹的对话框

选择文件的对话框: //选择文件文件对话框 OpenFileDialog dialog = new OpenFileDialog(); //是否支持多个文件的打开? dialog.Multiselect = false; //标题 dialog.Title = "请选择图片"; //文件类型 dialog.Filter = "图片(*.*)|*.*";//或"图片(*...

weixin_44490080的博客 8863

c++选择文件夹对话框

1,目的 提供一个对话框供用户选择一个文件夹路径。 2,原理&实现 先贴上这个工具类的源码: 在你的程序中使用静态方法 CSelectFolderDlg::Show() 就能显示一个选择文件夹的对话框啦,返回的CString就是所选文件夹路径。 [cpp]view plaincopy /* 文件:SelectFolde...

702

MFC 浏览选择文件、文件夹对话框

MFC 浏览选择文件、文件夹对话框 1、浏览选择文件: (1)浏览选择文件 简单:选择单个文件 CString SelectSingleFile() { CString filePath = _T(""); CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.txt)|*.txt|A...

gubaofu的博客 4730

VC 打开文件对话框/保存文件对话框/ 选择文件夹对话框

#include <windows.h> #include <ShlObj.h> #include <tchar.h> // 打开文件对话框 VOID OpenFileDialog() { // 打开文件对话框 OPENFILENAME ofn; TCHAR szFileName[MAX_PATH] = { 0 }; // 保存文件完整路径 TCHAR szTitleName[MAX_PATH] = { 0 }; // 保存文件名 // 设置过滤条件 .

技术皮皮虾 2009

VBA中通过选择对话框选择文件或文件夹-filedialog用法

c. 与文件夹选择不同的时,这里可以选择是否要多选文件,属性为AllowMultiSelect,默认是True,可以多选,如果设置为False,就是不可以多选。上文中获取的paths是一个对象(如下图),Count表示选择项的个数,如果属性Count=0则说明没有选择文件夹或者文件。可能通过下标获取选择的其中一个项,paths(1)代表第一个选择到的项,在这里的值是"C:\shell.log"。b. 获取选择到的文件 set paths = FileDialogObject.SelectedItems。

weixin_43213909的博客 2672

在MFC对话框中选择文件夹

有一项目,基本操作为选择一个文件夹,并对该文件夹中的文件进行操作。在MFC中没有找到可以选择文件夹(目录)的类和控件,只好在源码中使用固定路径,每换一个文件夹,都要修改源码,并重新编译。不愿再懒下去了,就在网上搜了一下,找到了解决的办法。   在对话框中加一按钮,该按钮对应代码如下(在win2000 sp4 + VC6.0下调试通过): void CGetDirTestDlg::OnBrows

齐子龙的专栏 1340

MFC之选择文件对话框和选择文件夹对话框

选择文件对话框 CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,_T("pem(*.pem;*.PEM)|*.pem;*.PEM||"),this); CString str_path; if (dlg.DoModal() == IDOK) { //获取文件绝对路径 str_path = dlg.GetPathName(); } ...

enjoy.day 876
上一篇: DirectDraw Tutorial 1
下一篇: DirectDraw Tutorial 2
nette
博客等级 码龄20年 61粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值