CATIA使用CAA二次开发的时候,如果需要对树形数据对象实现管理,使用树形控件是非常好的选择。但是,CAA本身提供的控件较少,多数情况无法较好地满足项目要求,如果你的水平足够高,也可以使用CATNavigation3DViewer封装出一个满足要求的树形控件,但是这样的成本会非常高,而且,由于是个人封装得到的控件,效率和可靠性都无法得到较好的保证。

幸好CAA提供对MFC的支持,将MFC控件使用到CAA对话框可以较好的实现低成本CAA控件扩展。都知道CAA窗体有独立的消息泵,MFC控件的消息无法直接被CAA类接收。为了克服MFC控件与CAA类通信的障碍,需要对MFC控件进行重载,以拦截用户关心的控件消息,并通过回调函数(函数指针)调用CAA中的相应函数实现类似CAA控件回调函数的效果。

创建过程基本分为以下几部分:

1.创建树形控件的面板

2.手动重载MFC树形控件:利用树形控件的对象,并结合其创建的成员函数,实现树形控件创建和显示。

3.树形控件消息拦截和响应:通过对树形控件中消息的拦截,通过自定义窗口函数调用CAA中的类。

CATIA二次开发CAA实现MFC树形控件的方法研究相关推荐

  1. CATIA 二次开发 CAA笔记.新的开始

    CATIA 二次开发 CAA笔记.新的开始 序 正题: 序 之前并没有什么编程的项目经验,说道本人的教育背景,本科化工机械,研究生考的车辆工程,然后在导师的建议下选择了协同方向, 自学了一点微不足道的 ...

  2. MapGis二次开发——基础地图目录树控件的加载

    MapGis二次开发--基础地图目录树控件的加载 第一步:添加MapGis引用 MapGis动态库位置是在你安装位置下的\Program\plugin下,例如我的安装位置就是:D:\MapGIS 10 ...

  3. vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用

    vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用 参考文章: (1)vue的$nextTi ...

  4. 想入门CATIA二次开发CAA的盆友看过来(谈谈开发经验,或许对你有帮助!)

    前言 刚开始接触CATIA二次开发时候还是比较难熬的,因为没接触过CATIA.更重要的是没有C++基础.帮助文档 很难翻译成可以理解的中文.刚开始时候一头雾水,身边也没人做过开发,都是我一个人在默默的 ...

  5. CATIA二次开发CAA:(一)开发环境搭建

    目录 一.完整的安装文件 二.总体的安装步骤 三.详细安装教程 1.Visual Studio 2012安装教程 2.CATIA 2016安装教程 3.CAA安装 4. RADE 5.CATIA&am ...

  6. MFC RichEdit控件使用方法大全

    RichEdit简介 RichEdit的意思是"富文本编辑控件",在Edit的基础上添加了很多功能,如对不同字体.字号.文本颜色.背景色.插入Ole对象的支持,Windows系统的 ...

  7. CATIA二次开发CAA安装

    安装资料在网盘里 Win7 64位 以下软件均已管理员身份运行: 1.安装vs2008->自定义安装->选择要安装的功能->Visual C+±>x64编译器和工具 1.2安装 ...

  8. CATIA二次开发(CAA)—获取几何图形集—CATIDescendants

    一.CATIDescendants常用方法 public virtual void Append(const CATISpecObject_var&iFeature) = 0 添加元素 pub ...

  9. CATIA二次开发(CAA)—创建几何图形集—CATIMechanicalRootFactory

    一.创建几何图形集CATIMechanicalRootFactory CreateGeometricalSet() 参数详解 const CATUnicodeString& iUserName ...

最新文章

  1. matlab有限域多项式除法_椭圆曲线密码学简介(二):有限域的椭圆曲线及离散对数问题...
  2. php.ini 中文英文对照详细配置手册
  3. 4月22日MySQL学习
  4. Primavera 6.0
  5. 运维基础(10)linux被删数据恢复方法
  6. 一步步学习微软InfoPath2010和SP2010--第三章节--表单设计基础:处理InfoPath布局、控件和视图(4)--控件属性功能区...
  7. 硬件:固态硬盘SSD的基础知识及安装注意事项!
  8. android给数组添加新元素_重磅!超详细的 JS 数组方法整理出来了
  9. anaconda 安装pytorch_conda上安装PyTorch
  10. mysql新增列并同时增加数据_图解MySQL | 「原理解析」 MySQL 为表添加列 是怎么立刻完成的...
  11. r语言 悲观剪枝_R语言实战(5) ——高级数据管理
  12. 面向对象-类与对象、关键字、异常使用
  13. qDebug用法详解
  14. 窗口句柄浅析和获取窗口句柄的方法
  15. 虚拟机安装linux输入密钥,远程连接虚拟机并做密钥认证
  16. 【干货】Excel中的换行符,这几种用法你会哪些?
  17. 苹果x人脸识别突然失灵_iPhone手机触摸屏失灵怎么办?成都苹果维修点教你轻松解决...
  18. 计算机向u盘拷贝速度慢,U盘读写拷贝速度慢的解决措施
  19. 阿里云 SLB示例配置
  20. 优化问题---最优性条件

热门文章

  1. 今日新闻快讯10条 每天一分钟 知晓天下事 4月28日
  2. 重生之我要学C++第一课
  3. jconsole连接失败:是否重试?
  4. 通过WindowsXPMode,Win7下照样使用IE8
  5. mysql 批量插入12位随机数字
  6. event 情景分析
  7. ifconfig查看本机IP
  8. 亿图脑图协同版全面升级,团队协作更高效!
  9. Axis2学习第一篇:Axis2开发WebService之发布和调用
  10. 优秀程序员无他,善假于物也