CATIA二次开发 CAA 对话框 调用 webbrowser 控件

本文介绍了在CATIA二次开发中使用CAA进行对话框开发时,如何解决WebBrowser控件创建及新窗口打开问题。通过对话框消息机制在大小变化事件中创建控件,并探讨了阻止新窗口打开的方法,以及如何通过调用网页JS获取数据以满足业务需求。这种集成方式增强了与第三方系统的交互体验。
摘要由CSDN通过智能技术生成

   之前写了一篇在CATIA对话框中调用webbrowser控件的文章,当时只是实现了能够在CATIA对话框中调用控件,还存在以下问题:

    1、首次调用对话框时不能创建webbrowser控件,必须在对话框存在的情况下再次调用才会创建成功;

    2、在控件中的网页中点击某些链接时会打开新的浏览器窗口,同时在任务管理器中会出现2个进程,关闭控件与浏览器也不能关闭这些进程,需要自己在任务管理器中手动结束进程;

   由于工作需要进一步的在CATIA对话框中应用webrowser控件,几个问题的原因与解决方法如下:

    1、创建控件时需要宿主对话框的句柄,要求该对话框必须已经创建完成,由于CAA中消息机制的问题,控件无法与对话框同时创建,然而业务需求要(给用户的感觉是)同时创建。

          解决方法为利用CAA中对话框的创建时的消息机制,在对话框大小变化事件中添加创建控件的代码。

     2、点击网页中某些链接时,是否会打开新窗口是由网页中超链接中的属性target的值有关(_blank _self),当该值为_blank时会在新窗口打开,_self会在当前窗口打开。

解决方法有两个:

  • 修改该超链接的target属性值
  • 在控件的新窗口事件NewWindow3 中Cancel = TRUE

工作中还需要获取控件网页中的某些数据作为CATIA中操作的输入。有两种方式,一是通过微软提供的API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值