注册 登录
编程论坛 VFP论坛

请教添加非标准控件的方法:.AddObject

laibinhua 发布于 2023-07-03 10:18, 665 次点击
请教老师 添加非标准控件的方法:.AddObject
thisform.AddObject('mypic1','image')可以加入一个图片控件,现在在加入一个PDF显示控件(Class是olecontrol   OleClass是Foxit.FoxitReaderSDKCtrl.3 )要如何写addobject命令
8 回复
#2
sych2023-07-03 10:36
thisform.addobject("olecontrol1","Foxit.FoxitReaderSDKCtrl.3")
应该和标准控件没有区别吧
#3
csyx2023-07-03 10:48
thisform.addobject("myFoxit", 'olecontrol', 'Foxit.FoxitReaderSDKCtrl.3')
#4
laibinhua2023-07-03 21:03
回复 3楼 csyx
老师,又有个问题,因为是动态加进的控件,我给他动态绑了个事件,提示出错(动态绑标准控件不会报错)代码如下:
thisform.addobject("myFoxit", 'olecontrol', 'Foxit.FoxitReaderSDKCtrl.3')
= BINDEVENT(myFoxit, "onClick", thisform, "pic_click")

pic_click方法如下:
Release aMyMouse
If Amouseobj(aMyMouse)>0
    lmb1=aMyMouse(1).Name
    thisform.p_ctname=lmb1
endif

运行点击后马上报错
NO PARAMATER statement is found
#5
吹水佬2023-07-03 22:08
COM事件绑定要用EVENTHANDLER()
#6
laibinhua2023-07-03 22:35
回复 5楼 吹水佬
谢谢
#7
csyx2023-07-03 23:04
以下是引用laibinhua在2023-7-3 21:03:38的发言:
运行点击后马上报错
NO PARAMATER statement is found

错误信息很明显,缺少了接收参数的语句
这个事件会传入三个参数,见下图
只有本站会员才能查看附件,请 登录


所以你应该在你的 pic_click 方法首行加入一行接收参数的语句
lparameters hWnd, x. y
#8
laibinhua2023-07-03 23:07
回复 7楼 csyx
谢谢回复
#9
吹水佬2023-07-04 07:39
这个控件不可以封装成VFP的类吗?
可以的话就直接动态创建这个类实例。
1