CATIA二次开发-MFC树形控件实现

	CAA没有提供可用的树形控件,但是CAA对MFC有很好的支持。因此可以通过获取CAA窗体句柄方式,动态挂入CtreeCtrl对象。
	为此我们需要解决以下几个问题
	1.如何获取窗口的句柄。
	获取窗口的句柄目的是为了创建CtreeCtrl对象,当然在创建的同时也定义树形控件要挂在到窗口的哪个区域。
	CAA中 CATDlgDialog集成的基类提供了GetWindowHandle()方法,该方法并没有记载到开发文档中,但是是可以直接使用的,它返回的是一个HANDLE对象对于创建CWnd对象已经足够了。
	2.如何获取选择树形控件时发出的消息。
所有的CWnd派生的子类都能对CWnd里面的消息进行重写,也正是基于此方法,可以拦截鼠标选择树形控件时发出的消息。在重写消息方法里获取消息信息和鼠标信息进行比较就可以准确获取鼠标单击和双击树形控件的状态。
	综上所述我们可以这样实现,创建一个继承CTreeCtrl的派生类CAACtreeCtrl,在CAACtreeCtrl里重写系统的消息方法,并处理WM_LBUTTONDOWN,WM_LBUTTONDBLCLK,WM_RBUTTONDOWN有用的消息。
	以下展示通过该方式实现树形控件创建和3D预览实现效果。

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值