从VCL控件转换为ActiveX控件时,出了点问题?请教大牛(100分)

  • 主题发起人 主题发起人 pickup
  • 开始时间 开始时间
P

pickup

Unregistered / Unconfirmed
GUEST, unregistred user!
多谢昨天各位的指教,我现在用TWinControl继承后可以转换成ActiveX控件了
但是还有点问题.我以前在VCL控件里面的一些事件在ActiveX控件里面看不见
了,只能看见一部分事件。不知道是什么原因?哪位大牛请指教
 
改一下type library中该事件的flag,将visible设为true
 
学习一下ACTIVEFORM中的ONCLICK事件是怎么实现的你就晓得了。
 
把一个V C L控件转换成A c t i v e X控件要经历以下步骤:
1) 向导决定是哪个单元包含了选中的V C L控件,然后经编译器处理,由编译器生成与V C L控件属
性、方法和事件相对应的特殊符号信息。
2) 为这个项目创建一个类型库,其中包括一个具有属性和方法的接口、一个事件调度接口和一个
表示A c t i v e X控件的控件类。
3) 向导遍历V C L控件的所有符号信息,把其中的属性和方法加到接口中,把事件加到调度接口中。
注意在介绍第3步时产生了下列问题:哪些属性、方法和事件被加到类型库中?[red]只有那些属
性、方法的参数和返回值、事件的类型与自动化兼容的才能被加到类型库中[/red],与自动化兼容的
数据类型有:B y t e、S a m l l I n t、I n t e g e r、S i n g l e、D o u b l e、C u r r e n c y、T D a t a Ti m e、Wi d e S t r i n g、
WordBool、PSafeArray、TDecimal、OleVariant、IUnknown和IDispatch。
不过,这个规则也有例外,如果参数的类型是T S t r i n g s、T P i c t u r e和T F o n t,也是允许的。对于这
些类型,向导用特殊的适配器对象将其封装为兼容的类型。
4) 一旦所有的属性、方法和事件加到类型库中后,类型库编辑器就产生一个包含类型库内容的
Object Pascal译本。
5) 向导生成A c t i v e X控件的实现文件,这个文件中有一个TA c t i v e X C o n t r o l对象,它实现了在类型
库中描述的接口,并自动实现原来在V C L中的属性、方法和事件。
 
同意楼上,好像是d5开发人员指南里面的内容
 
好多书上都引用了此段文字!
 
接受答案了.
 
后退
顶部