VC 打开目录对话框

vc++打开目录对话框类 vc++打开目录对话框类,自定义类,使用简单,附有使用方法 立即下载
 
平时安装软件或是使用程序中,经常遇到文件选择对话框和目录选择对话框。在VC中打开文件选择对话框比较简单,使用CFileDialog就可以。打开目录选择对话框就稍微麻烦一些。需要使用API函数SHBrowseForFolder来实现。

 该函数原型为:
      LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi); 
 其中LPBROWSEINFO为BROWSEINFO结构的指针。

BROWSEINFO结构如下:
typedef struct _browseinfo {
    HWND hwndOwner;
    LPCITEMIDLIST pidlRoot;
    LPSTR pszDisplayName;
    LPCSTR lpszTitle;
    UINT ulFlags;
    BFFCALLBACK lpfn;
    LPARAM lParam;
    int iImage;
} BROWSEINFO;

调用例子如下:
void CTestDirDlg::OnButton1()
{
    CString sFolderPath;
    BROWSEINFO bi;
    char Buffer[MAX_PATH];
    //初始化入口参数bi开始
    bi.hwndOwner = NULL;
    bi.pidlRoot = NULL;
    bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框
    bi.lpszTitle = "选择路径";
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    bi.lpfn = NULL;
    bi.iImage = 0;
   //初始化入口参数bi结束
   LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
   if(pIDList)
   {
       SHGetPathFromIDList(pIDList, Buffer);
       //取得文件夹路径到Buffer里
       sFolderPath = Buffer;//将路径保存在一个CString对象里
   }
}
     

    
    
    
    
    
打开文件应该好搞定,用openfiledlg就OK了,打开目录比较麻烦,记录下:

CHAR* ChooseDirectory(HWND hWnd, CHAR *szTitle)
{
    BROWSEINFO  bi;
    ITEMIDLIST  *pItemIDList;
    static CHAR szPath[MAX_PATH];
    
    bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
    bi.pidlRoot = NULL;
    bi.pszDisplayName = szPath;
    bi.lpszTitle = szTitle;
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    bi.lpfn = NULL;
    bi.iImage = 0;
    pItemIDList = SHBrowseForFolder(&bi);
    
    if(! SHGetPathFromIDList(pItemIDList, szPath) )
        return NULL;

    return (CHAR*)szPath;
}
基于XGBoost的混凝土力学性能预测系统 本文介绍了一个基于XGBoost算法的混凝土力学性能预测系统。该系统通过模拟生成3000组混凝土配合比数据(包含水灰比、水泥用量和龄期三个关键特征),利用XGBoost强大的非线性建模能力预测混凝土抗压强度。研究背景源于传统混凝土性能测试方法耗时耗力的痛点,该系统可显著减少实验次数,优化配合比设计。系统实现包括:数据生成与特征工程(模拟真实工程数据并添加噪声和异常值)、XGBoost模型构建、以及预测性能评估。XGBoost算法因其处理非线性关系能力强、鲁棒性好等优势被选用,可为智能建造和数字化施工提供技术 阅读详情

相关推荐

Cadence Virtuoso里搞定斩波运放AC仿真:PSS+PAC保姆级设置避坑指南

然而,当工程师们尝试在Cadence Virtuoso环境中对这种特殊结构进行AC特性分析时,往往会遇到传统AC仿真方法失效的困境——这正是PSS(Periodic Steady-State)与PAC(Periodic AC)仿真组合大显身手的场景。实际项目中我们常采用"先快后精"的两步法:先用快速设置确认大体趋势,再针对关键频段进行精细仿真。例如某次设计迭代中,将harmonics从10增加到20后,发现在1MHz处的相位裕度估算误差达15°,这解释了之前样机测试时的振荡问题。

weixin_33508411的博客 451

vc选择路径(SHBrowseForFolder函数)

   一般的OpenDialog,得到的是文件夹名称,如果要想实现下面的效果,得到选择的路径,这个时候SHBrowseForFolder就派上用场了。      下面的例子中返回路径,如果没有选,返回"",选择了路径,则返回选择的路径。    char  *GetPath(HWND   hWnd,char   *pBuffer)    {      BROWSEINFO   bf;

Jiao2_vc的专栏 4619

产品竞争策略方法论:构建“差异化 + 结构化 + 系统化”的竞争优势

本文系统探讨了IoT产品竞争策略,指出当前企业普遍存在硬件能力强但商业竞争能力不足的问题。文章构建了五层竞争模型(产品层、体验层、服务层、数据层、生态层),提出五大核心竞争策略(成本领先、差异化竞争、聚焦竞争、生态竞争、数据驱动竞争),并详细阐述了差异化设计方法。通过行业案例分析(小米、苹果、特斯拉)和五步落地方法,强调从硬件竞争向系统优势转变的重要性。文章指出IoT竞争胜负关键在后半场的数据运营和服务延伸,建议企业通过构建差异化能力、完善服务体系、建立数据体系、逐步构建生态来避免价格战陷阱,实现从跟随到领

专注智能硬件软硬件产品经理成长与实战,分享从需求定义到量产落地的真实日记。涵盖IoT趋势洞察、研发协作经验、产品方法论与工具箱,用轻松有趣的“汪式”视角,陪伴产品经理成长、避坑与升级。 360

打开目录的方法

平时安装软件或是使用程序中,经常遇到文件选择对话框和目录选择对话框。在VC中打开文件选择对话框比较简单,使用CFileDialog就可以。打开目录选择对话框就稍微麻烦一些。需要使用API函数SHBrowseForFolder来实现。 该函数原型为:      LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi);  其中LPBROWSEINFO为BRO

随心而行 1134

DIY等离子环:从Class-E电路到七彩辉光,手把手教你打造炫酷科学玩具

本文手把手教你DIY一个炫酷的等离子环科学玩具。从解析等离子体辉光放电原理入手,详细介绍了核心的Class-E自激振荡电路设计、关键元件选型与参数计算,并提供了从物料准备、电路搭建、腔体密封到上电调试的全流程指南。通过调制电路或填充不同气体,还能实现七彩变换与交互效果,是学习高频电路与电磁场知识的绝佳实践项目。

weixin_29305337的博客 635

DeepSeek Harness接入QQ实战:把DSH变成赛博群友

大模型应用正从单机问答走向多平台集成,如何将模型能力嵌入即时通讯工具成为工程实践的热点。消息接入、会话管理、插件扩展是构建智能群聊机器人的核心三要素。DeepSeek Harness(DSH)作为一款模型会话工作流管理工具,凭借多会话管理、模型调用编排以及灵活的插件机制,能够在QQ群聊场景中实现“接收消息→模型生成→回复推送”的完整闭环。本文从基础概念切入,详解DSH接入QQ的两种实现路线——外部API转发与原生插件适配,覆盖环境准备、启动调试、接口调用与性能观察,并给出常见问题排查清单。无论是本地AI助理

weixin_27427619的博客 1930

vc学习历程(7)--文件浏览对话框

浏览对话框代码:{ BROWSEINFO bi;    char buffer[MAX_PATH];    ZeroMemory(buffer,MAX_PATH);    bi.hwndOwner=GetSafeHwnd();    bi.pidlRoot=NULL;    bi.pszDisplayName=buffer;    bi.lpszTitle="选择一个文件夹";    bi.u

lin_angle的专栏 1826

ArcGIS Pro实战:用时空立方体分析共享单车轨迹数据(含3D可视化技巧)

本文详细介绍了在ArcGIS Pro中利用时空立方体技术分析共享单车轨迹数据的全流程。从数据预处理、构建时空立方体,到执行新兴时空热点分析,并最终实现动态3D可视化,手把手教你挖掘城市骑行活动的时空规律。文章重点解析了工具参数设置、常见报错解决方案,并提供了可复用的Python脚本,助力城市规划与交通研究者高效完成时空模式挖掘。

weixin_28323057的博客 137

VC中目录选择对话框的使用

一、数据结构VC中目录选择对话框使用如下函数打开:PIDLIST_ABSOLUTE SHBrowseForFolder( LPBROWSEINFO lpbi ); 其中,LPBROWSEINFO是一个结构:typedef struct _browseinfo {    HWND hwndOwner;    PCIDLIST_ABSOLUTE pidlRoot;    LPTST

yuvmen的专栏 6084

IEEE Journal of Biomedical and Health Informatics(JBHI)投稿经验分享

《IEEE Journal of Biomedical and Health Informatics投稿经验分享》详细记录了在影响因子6.7的中科院一区期刊JBHI的投稿历程(2025.1-5月,历时4个月)。文章重点分析:1)审稿特色:4位审稿人差异显著,领域专家意见专业但要求严苛;2)修改要点:需重视大修(补充实验/原理阐述),并注意将回复内容同步至正文;3)期刊特点:送审率高但审稿严格,常规投稿周期约4-5个月;4)实用建议:建议首次大修全力以赴,善用AI工具辅助写作,避免拖延。

LiRongLu_的博客 5084

SpringBoot 教程:SpringBoot多种方式实现静态Html页面跳转

本教程介绍了 Spring Boot 中实现静态 Html 页面跳转的常用方法,包括重定向跳转、直接返回 ModelAndView 对象以及使用 Thymeleaf 模板引擎。如果你的项目中使用了 Thymeleaf 模板引擎,那么可以利用它来实现静态页面的跳转。对于静态的 Html 页面,我们可以使用多种方式来实现跳转功能。重定向是一种常见的页面跳转方式,它通过发送 HTTP 重定向响应头来告知浏览器跳转到指定的页面。在 Spring Boot 中,我们可以将视图名称设置为静态页面的路径。

2301_79325657的博客 2448

BROWSEINFO用法

Visual C++(VC)中,BROWSEINFO结构中包含有用户选中目录的重要信息。(1)BRWOSEINFO结构typedef struct_browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags;

dream it possible 4692

【ArcGIS微课1000例】0149:Geographic Imager6.6下载安装教程

首先保证电脑上安装对应版本的PS软件,笔者安装的是PS2023(V24.7)版本,然后安装本软件。保持以上窗口运行状态,然后打开PS,自动弹出如下窗口。勾选【Automatically checkout LIcense】,点击Close。双击setup开始安装,点击【确认】,一路默认安装到底。驱动器:DVD-ROM驱动器(用于DVD版本)处理器:2GHz或更快的英特尔或AMD处理器。安装完成后,将Crack中的所有文件拷贝到。硬盘:600 MB的可用硬盘空间用于安装。内存:4GB内存(建议8GB或更高)。

智慧空间实验室 1219

使用vc打开目录选择对话框

打开目录选择对话框可以使用API函数SHBrowseForFolder来实现。  该函数原型为:       LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi);   其中LPBROWSEINFO为BROWSEINFO结构的指针。 BROWSEINFO结构如下: typedef struct _browseinfo {     HWND

water_lwj的专栏 901

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OV9734 DATASHEET,完整规格书

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

vc打开目录对话框

_TCHAR buf[MAX_PATH],buf2[MAX_PATH]; BROWSEINFO brinfo;brinfo.hwndOwner = m_hWnd;brinfo.pidlRoot = NULL;brinfo.pszDisplayName = buf; brinfo.lpszTitle = _T("选择大智慧新一代安装根目录");brinfo.ulFlags =...

测试 440

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vc 打开目录对话框

<br />在实际的MFC编程当中,常常需要弹出对话框选择文件、选择目录等操作,对于选择文件,用CFileDialog就可以很简单的解决,而对于选择目录,则稍稍需要多一些步骤,需要自己创建Dialog。<br />首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。<br /> <br /> <br /> <br /> <br />void CD

倦鸟归时 1511

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC打开一个目录选择对话框,并设置初始化目录

<br />打开目录选择对话框可以使用SHBrowseForFolder函数来实现,<br />默认的路径是我的电脑,如果需要自己设置一个默认路径的话,则需要填充BROWSEINFO里面的回调函数<br />在这里使用BrowserCallbackProc,初始化的时候给目录选择对话框发消息,选中预先设定的路径.<br /> <br /> <br /> <br /> <br />/////////////////////////////////////////////////////////////////

Yao.GUET 5662

VC常用系统对话框(保存 打开 目录)

//打开文件对话框 const char pszFilter[] = _T("EXE File (*.txt)|*.txt|All Files (*.*)|*.*||"); CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY

丰空岛主(Vega Prime,Android,LabWindows,ThreeJS,Python,OpenCV) 784

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

在批量处理文件时常常用到,索性放BLOG里头。void OnButtonOpen() { // TODO: Add your control notification handler code here /* CFileDialog cFlgDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,NULL); cFlgD

lwd4210的专栏 836

浏览对话框

vc使用目录选择对话框使用目录选择对话框时,如何让其弹出后自动打开指定目录? 是的当用目录选择对话框时,用如下的结构打开。typedef struct _browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags; BFFCALLBACK lp

961
上一篇: DVD光盘类型
下一篇: linux profile执行及顺序
frog845
博客等级 码龄20年 4粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值