CMFCShellList和CMFCShellTreeList的使用点滴(关于zip对CMFCShellList没有反应的处理)

本文介绍了如何在MFC中使用CMFCShellTreeCtrl和CMFCShellListCtrl实现资源管理器效果,包括它们的初始化、禁用ShellListCtrl的弹出菜单以及添加自定义右键菜单。还特别提到在XP系统中,由于zip被视为folder,需要通过判断SFGAO_BROWSABLE属性来区分处理。
摘要由CSDN通过智能技术生成

这里就是一个例子,具体的用法可以参考MSDN以及VC示例程序中的MFC Feature Pack 的NewControls。

1.创建一个基于对话框的MFC应用程序。

2.在工具箱中选择TreeCtrl控件,同时添加相应的变量,变量类型需要手动更改为CMFCShellTreeCtrl(默认只有CTreeCtrl),命名为:

   m_wndShellTree;

3.在应用程序类C××App的InitInstance()中的适当位置(我放在AfxEnableControlContainer()后面)添加InitShellManage();即可,之后直接编译运行就可以看到效果。

简单使用方法:

(1).资源管理器效果。

 一般情况下,CMFCShellTreeCtrl和CMFCShellListCtrl关联使用,以使呈现资源管理器的效果,首先和上面添加CMFCShellTreeCtrl的方法类似,添加一个List Ctrl,并关联一个CMFCShellListCtrl变量m_wndShellListCtrl。对话框可以在初始化(OnInitDialog)时用

CMFCShellTreeCtrl::SetRelatedList(CMFCShellTreeList *)。

(2).禁用ShellListCtrl的Pop-up菜单。

这时如果右击CMFCShellListCtrl将会弹出系统菜单。所以这个时候,你可以使用 m_wndShellListCtrl.EnableShellContextMenu(FALSE);来禁用Popup菜单。

(3).添加自己的弹出菜单

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值