shensr

软件推动科技,科技改变世界!

博客园 首页 新随笔 联系 订阅 管理

在.Net Form中加载ActiveX控件非常方便,最符合官方的(也是最简单的)方法就是在VS.Net的Toolbx中加入ActiveX控件,然后便OK。

.Net有个ComVisible属性,要在ActiveX Form中访问.Net Control还是比较方便。然而要加载在ActiveX Form中呢?却无论如何也没有找到一种官方的方法。也许有朋友要说“谁这么变态,要在ActiveX Form中加载.Net Control?”……我们的一个实际的项目便有这样的需求!没办法,还得绞尽脑汁想招……

抛开跨平台的概念,我们知道在Windows下,.Net Control归根结底还是一个系统Window,与其他Window一样,也有Window Handle……对了,有了Window Handle我们不就可以#$%@。马上做实验,果然一切工作良好。不过还有一个问题,有些情况下Window的Handle会改变(比如改变RightToLeft属性),这时.Net Control就会失去Parent(试试我的例子)。但是一般情况下,谁会去改变RightToLeft属性呢,因此我们的方法基本上Work。

下载: Load NetControl in VB.zip


posted on 2004-06-08 13:03  shensr  阅读(2789)  评论(7编辑  收藏  举报