问题原因:你的ActiveX control没有hwnd这个属性,所以会报错。
解决方法:
(1).在控件中加入hwnd属性。
public property get hwnd() as long
hwnd= usercontrol.hwnd
end preperty
(2).不用ctl.parent.hwnd ,使用另一个API.
Declare Function GetParent Lib "user32" Alias "GetParent" (ByVal hwnd As Long) As Long ScreenToClient GetParent(ctl.hwnd), pt
ClientToScreen GetParent(ctl.hwnd), pt解释:
(1) 第一种不够灵活,在第个做容器的控件里都在要加入这个属性。
(2) 第二种有的情况不能使用,便如ctl 是一个label,这时ctl 没有hwnd
具体使用看你的情况了。
解决方法:
(1).在控件中加入hwnd属性。
public property get hwnd() as long
hwnd= usercontrol.hwnd
end preperty
(2).不用ctl.parent.hwnd ,使用另一个API.
Declare Function GetParent Lib "user32" Alias "GetParent" (ByVal hwnd As Long) As Long ScreenToClient GetParent(ctl.hwnd), pt
ClientToScreen GetParent(ctl.hwnd), pt解释:
(1) 第一种不够灵活,在第个做容器的控件里都在要加入这个属性。
(2) 第二种有的情况不能使用,便如ctl 是一个label,这时ctl 没有hwnd
具体使用看你的情况了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货