动态添加ActiveX控件,不是通过import进来再动态生成Txxxx

Tommy Chang 2000-04-03 02:18:00
在delphi中import 某个activex 控件后,就可以动态生成,但问题是只知道ProgID,想动态通过ProgID来生成可视化控件(full window的控件),并得到对应的window句柄,就像一个activex control test container一样的东西,应该如何处理?
CreateOleObject()可以生成一个实例,但我无法将其可视化,而通过tolecontrol,tclassfactory一时之间又不知如何下手。
希望有人能给出实现的方法、思路、例子、相关网站,其中任意一样都可以,感激不尽。
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lin 2000-04-05
  • 打赏
  • 举报
回复
太不人道,每天工作12小时...
Tommy Chang 2000-04-05
  • 打赏
  • 举报
回复
Thank u very much much much.....
我的email地址有cxgtommy@21cn.com cxgtommy@sina.com cxgtommy@263.net cxgtommy@163.net cxgtommy@cmmail.com cxgtommy@263.net cxgtommy@email.com.cn
oicq的号码是1766598
icq的号码是17607575
在北京办公室的电话是65222233-301(上午9:30上班) 住址电话是65123388-612(晚上9左右下班)
这样应该可以找到我了。
如果不在北京的话,我可以打给你。
多谢多谢多谢!!!
Lin 2000-04-05
  • 打赏
  • 举报
回复
cxgtommy: 我做了个Demo,你的21CN邮箱不能收取...
Tommy Chang 2000-04-04
  • 打赏
  • 举报
回复
Firing_sky大虾,我就是不想import进来,才想用progid或classid来动态生成,但不知如何下手,如果只是动态解析得化,itypelib等几个接口应该够用了,但不知如何使其可视化,并且得到句柄,而且接口希望可以随便动态得到而不是静态定义好的,需要知道guid并且接口类型等。
tolecontrol,tolecontainer的用法不会用,请赐教。最好能将delphi中如何使用ixxxx的方法给个好点的例子,以前我还找到一个例子是给出容器window的handle可以生成activex实例,不过现在搞不见啦

总而言之,就是ole view 和ole container 之类的东西
Firing_Sky 2000-04-03
  • 打赏
  • 举报
回复
可是他说的好像是import了一个现成的ActiveX控件,而不是创建ActiveX控件啊!
Lin 2000-04-03
  • 打赏
  • 举报
回复
Firing_Sky: 你那样做是不对的。如果自己通过CLSID创建ActiveX,返回的是一个IUnknown接口,而IUnknown是没有任何属性的哦,更没有Parent属性了。TOLEControl封装了窗口以及ActiveX控件的接口,所以有Parent属性。
解决方法:通过IUnknown接口查询起是否支持Show、SetVisible之类的方法...
Firing_Sky 2000-04-03
  • 打赏
  • 举报
回复
ProgID是什么东西?什么叫做无法可视化?对新创建的ActiveX,设置ActiveX.parent=form后就可以变得可视了的啊!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧