CMFCShellTreeCtrl和CMFCShellListCtrl快速构建资源管理器
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
系统环境:Windows 7
软件环境:Visual Studio 2008 SP1
本次目的:实现CMFCShellTreeCtrl(CBCGPShellTree )和CMFCShellListCtrl(CBCGPShellList )快速构建资源管理器
在VS2008SP1以后的版本都可以快速的建立一个类似资源管理器的工程,或者也可以利用BCG第三库,下面以VS2008SP1版本为例说明构建资源管理器的步骤。
第一步:建立一个“基于对话框”的工程,窗体上放置一个Tree和List控件
第二步:分别为他们添加变量,然后修改声明变量那里为
CMFCShellTreeCtrl m_wbdShellTree;
CMFCShellListCtrl m_wndShellList;
第三步:在对话框初始化函数里面,添加以下代码
m_wbdShellTree.Expand(m_wbdShellTree.GetRootItem(), TVE_EXPAND);
m_wbdShellTree.SetRelatedList(&m_wndShellList);
第四步:设置List控件的属性,在面板里面设置View为Report一定要设置这个,不然会出错,其余的属性可以设置Always Show为True,Alignment为Top;设置Tree控件的属性,Has Buttons 为True,Has Lines为True,Lines At Root为True
第五步:添加控件初始化,在APP实现文件InitInstance里面添加InitShellManager()。
效果如下:
发现右键项会弹出上下文相关菜单,也就是跟系统的资源管理器一样弹出系统右键菜单,可以用在对话框初始化函数里面添加以下代码去除关联上下文菜单
m_wndShellList.EnableShellContextMenu(FALSE);
下面是获取当前选中项的路径和名称:
首先:为List控件右键添加事件处理消息NM_RCLICK,在生成的函数里面添加以下代码
- void CTest_ExplorerDlg::OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult)
- {
- LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
- // TODO: 在此添加控件通知处理程序代码
- CString Filename;
- for(int i=0; i<m_wndShellList.GetItemCount(); i++)
- {
- if( m_wndShellList.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
- {
- m_wndShellList.GetItemPath(Filename,i);
- AfxMessageBox(Filename);
- }
- }
- *pResult = 0;
- }
void CTest_ExplorerDlg::OnNMRClickList1(NMHDR *pNMHDR, LRESULT *pResult){ LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 CString Filename; for(int i=0; i<m_wndShellList.GetItemCount(); i++) { if( m_wndShellList.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED ) { m_wndShellList.GetItemPath(Filename,i); AfxMessageBox(Filename); } } *pResult = 0;}
效果如下:
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
CMFCShellTreeCtrl和CMFCShellListCtrl快速构建资源管理器相关推荐
- 一分钟快速重启资源管理器
Step1:打开电脑的任务管理器. 快捷键:Esc+Shift+Ctrl(也可以使用Ctrl+Alt+.或者Ctrl+Alt+Delete,在弹出的窗口中,选择任务 管理器) Step2:在进程列表中 ...
- VS2013/MFC 实现Windows资源管理器的简单方法
开发平台:Win7+VS2013 总想用MFC来实现Windows系统下的一些小程序,今天突然想实现Windows资源管理器,发现一种非常简单的方法能够实现它,主要用List Control和Tree ...
- 修改win7资源管理器默认启动位置
打开资源管理器属性,在目标(T)后边加上: /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D} 俺滴笨笨原本目标(T)是: %windir%\explorer.ex ...
- 计算机和资源管理器的异同,第五课 资源管理的利器——资源管理器的应用.doc...
备课时间:2015 年 月 日 上课时间:2015 年 月 日 第 节 课 题 第五课 资源管理的利器--资源管理器的应用 教学目标 知识与技能: 1.认识资源管理器: 2.掌握在资源管理器中实现对文 ...
- 在 IntelliJ IDEA 中,如何快速将选中文件用资源管理器打开
在 IntelliJ IDEA 中,如何快速将选中文件用资源管理器打开 教程的运行环境: IntelliJ IDEA 2020.1.2 (Ultimate Edition) 在 IntelliJ ...
- 去除Win10资源管理器中快速访问的“最近使用的文件”和“常用文件夹”
经常访问的文件和文件夹会在资源管理器中的快速访问中显示,如下 去除方法: 打开"文件夹选项",取消勾选以下两个选项: 在"快速访问"中显示最近使用的文件 在&q ...
- Windows文件资源管理器“快速访问”的隐藏、关闭及开启(win10)
目录 "快速访问"在哪里? 隐藏"快速访问" 关闭及开启"快速访问" 关闭"快速访问"之后,遇到的情况 "快速 ...
- (win10美化)隐藏win10此电脑(资源管理器)的快速访问、六个额外文件夹、OneDrive等
Win10此电脑视频.图片等7个文件夹怎么去除? 一丶傻瓜式 先来一键傻瓜式.下面第二部分有一步步操作的,傻瓜式有问题再自己单个尝试: [HKEY_LOCAL_MACHINE\SOFTWARE\Mic ...
- 用Flutter + Dart快速构建一款绝美移动App
作者 | Wojciech Kuroczycki 译者 | 弯月 来源 | CSDN(ID:CSDNnews) 如今,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不暇接的新 ...
最新文章
- 三代测序的基本原理、组装方法和应用场景
- View事件分发机制(源码 API27)
- 微信APP支付(Java后台生成签名具体步骤)
- 为什么要重写 hashcode 和 equals 方法?
- A review of 3D/2D registration methods for image-guided interventions(2)
- Programming C#.Classes and Objects.只读字段
- 黄冈学计算机的学校怎么样,广元市黄冈学校怎么样、好不好
- 设计一种网络分播软件
- 以太网口差分电平_高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术...
- 【基础】基础算法学习笔记(状态空间)
- Arduino-1602-LiquidCrystal库
- SecureCRT资源下载安装
- 嵌入式开发:优化嵌入式软件的7个技巧
- java练习题-猜数字游戏
- EasyExcel 读取excel表 解决Empty row EasyExcel末尾出现非常多空白行跳过 EasyExcel跳过末尾空白行
- 【C/C++服务器开发】socket网络编程函数接口详解
- 因特网、万维网、互联网区别
- 外罚函数法(二):SUMT算法及其收敛性证明
- 拼多多关键词搜索采集商品数据接口,拼多多分类ID搜索采集商品销量接口,拼多多上货接口,拼多多商品列表API接口
- 新版正方教务系统Java爬取_正方教务系统成绩爬取(仅个人)+tk可视化
热门文章
- [0].Net开发者社区--您好大的官威啊!
- MySQL详细安装(windows)
- 【苹果cms10 Maccmsv10 站群深度定制版 开发日志】 新增日志模块
- C语言 求sin(x)的近似值
- 【kotin】统计字符串中的字母数(拓展函数)
- 【C语言】编写程序,输出以下图形
- 工作效率 工具_我使用的工具加快了我的工作流程,使我的工作效率更高
- angular cli_使用Angular CLI连接到服务器的最佳方法
- uber-zap_如何构建自己的Uber-for-X应用程序(PART 2)
- matlab中函数或变量无法识别怎么办_用MATLAB巧解微分方程实例分析