1.创建回调函数

int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)

{

switch (uMsg)

{

case BFFM_INITIALIZED:    //初始化消息

::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData);//传递默认打开路径

break;

case BFFM_SELCHANGED:    //选择路径变化,

{

char curr[MAX_PATH];

SHGetPathFromIDList((LPCITEMIDLIST)lParam, curr);

::SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM)curr);

}

break;

default:

break;

}

return 0;

}

2.按钮处理函数

TCHAR szDefaultDir[MAX_PATH];

CString strDef(_T("C://WINDOWS//"));

memcpy(szDefaultDir, strDef.GetBuffer(strDef.GetLength()), strDef.GetLength());

strDef.ReleaseBuffer();

TCHAR szPath[MAX_PATH];

BROWSEINFO br;

ITEMIDLIST* pItem;

br.hwndOwner = this->GetSafeHwnd();

br.pidlRoot = 0;

br.pszDisplayName = 0;

br.lpszTitle = "选择路径";

br.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI;

br.lpfn = BrowseCallbackProc;        //设置CALLBACK函数

br.iImage = 0;

br.lParam = long(&szDefaultDir);    //设置默认路径

pItem = SHBrowseForFolder(&br);

if (pItem != NULL)

{

if (SHGetPathFromIDList(pItem, szPath) == TRUE)

{

CString strDir = szPath;

}

}

转载于:https://blog.51cto.com/evely/1441825

点击按钮打开选择文件对话框相关推荐

  1. 微信公众号,点击按钮打开pdf文件流,安卓跳转到浏览器里下载,ios可预览但默认不能下载

    微信公众号,点击按钮打开pdf文件流,安卓跳转到浏览器里下载,ios可预览但默认不能下载 注:在pc上开始时采用这两种方式是没有效果的,或者打开的是空页面,但上线到公众号是没有问题的!!!!!!!!! ...

  2. C#打开选择文件对话框和选择目录对话框

    1.    选择文件对话框,首先引用using Microsoft.Win32名称空间. private void BrowseButton_Click(object sender, RoutedEv ...

  3. 弹出打开/保存文件对话框 选择文件夹对话框

    打开/保存文件对话框: CFileDialog::CFileDialog(BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框LPCTSTR ...

  4. NX二次开发-UFUN打开选择文件夹对话框UF_UI_create_filebox

    NX二次开发-UFUN打开选择文件夹对话框UF_UI_create_filebox #include <uf.h> #include <uf_ui.h> #include &l ...

  5. C# 点击按钮弹出文件选择框

    点击按钮弹出文件选择框: // 文件选取 这里只允许txt文件private void button1_Click(object sender, EventArgs e){OpenFileDialog ...

  6. 两个Android选择文件对话框

    这个项目以及代码中使用的未在下面代码给出源码的方法都在这里:https://github.com/NashLegend/LegendUtils 第二种对话框的源码在这里:https://github. ...

  7. ant design vue:upload打开选择文件弹框前弹出确认框

    看antd文档,刚开始我用得beforeUpload来实现,勉强能完成我想要的功能,但是流程上不完美,需要先选择了文件,才能弹出确认框,但是我的确认框其实跟文件没有关系,我想要先弹确认框再打开文件选择 ...

  8. 选择文件对话框、保存文件对话框、选择文件夹对话框

    选择文件对话框 // 设置图像文件过滤格式CString lv_strFilterAll = _T("所有文件(*.*)|*.*||");CString lv_strFilterJ ...

  9. MFC_选择目录对话框_选择文件对话框_指定目录遍历文件

    选择目录对话框 void C资源共享吧视频广告清理工具Dlg::OnBnClickedCls() {// 清空编辑框内容m_Edit.SetWindowTextW(L"");m_E ...

最新文章

  1. AWS ML deploy platform
  2. 关于选择哪些村庄试点新农村建设的讨论
  3. fis3 php cgi,FIS3 : 构建
  4. spark中各类key算子的用法汇总(持续更新中)
  5. php unset 多可以什么_php unset()销毁单个或多个变量
  6. 基于 FPGA 的以太网回环测试verilog实现UDP协议
  7. Taro+react开发(89):封装为一个函数渲染
  8. Android 系统(138 )---Mtk平台 Android 打包解包*.img ,修改system.img 参数
  9. Android反编译分析工具
  10. 数据采集与数据挖掘是什么?有什么区别?
  11. BP神经网络模型及梯度下降法
  12. 朋友圈点赞图在线生成源码
  13. 【薛定谔方程求解】基于MATLAB的薛定谔方程求解仿真
  14. 如何在application里面退出打开的activity
  15. IE代理服务器没有响应 浏览器无法打开网页解决方法
  16. 算法第一次作业(2.帐篷问题)
  17. 公司福利直接影响员工的身心健康
  18. cpu win10 安装yolo_yolov5 win10 数据集制作 各种踩坑
  19. 【2023电赛备赛】使用sysconfig对ccs进行图形化编程
  20. C++基础-郑莉 11-12章

热门文章

  1. GCC选项_-Wl,-soname 及 DT_NEEDED 的解释
  2. 求1到N的全排列 (转载)
  3. DEDECMS给图集图片{dede:productimagelist}自动编号
  4. Shiro 身份验证
  5. Java线程间通信-回调的实现方式
  6. [置顶] 火车票余票接口API使用方法
  7. SpringCloud Hystrix的超时时间配置以及监控平台搭建
  8. Elasticsearch(一) ES之简介、倒排索引介绍以及 elasticsearch、kibana安装
  9. 页面点击提交跳转_一个入口一次提交!“六税合一”综合申报操作指南请收好~...
  10. 使用Docker安装Redis