就像标题所说,我想使用DLCTL_NO_RUNACTIVEXCTLS和DLCTL_NO_DLACTIVEXCTLS
在vb6 webbrowser控件中禁用图像和ActiveX控件微软在此处讨论:http://msdn.microsoft.com/en-us/library/aa741313.aspx
但我没有看到任何方法从vb6应用程序访问IDispatch :: Invoke。
非常感谢任何帮助。
答案 0 :(得分:0)
我认为VB6不允许你添加环境属性。尝试在另一个容器中托管ActiveX(例如,由您自己编写的ActiveX主机 - 但我不知道您想投入多少时间来声明VB友好的OLE接口并实现它们 - 或者使用另一个类似于{{3相反。
答案 1 :(得分:0)
您不能在VB6中访问IDispatch :: Invoke,只需编写方法并自动实现IDispatch。
Public Function DlControl() As Long
DlControl = DLCTL_NO_DLACTIVEXCTLS Or ...
End FUnction
然后只需打开Tools-> Procedure Attributes,对于DlControl函数打开Advanced,并将Procedure ID分配给-5512(DISPID_AMBIENT_DLCONTROL)。这是第一部分。
第二部分是将客户端站点设置为IOleClientSite的自定义实现。您需要一个自定义类型库,尝试Edanmo's OLELIB来声明这些接口。 Here是一个delphi样本,如何挂钩IOleClientSite的实现。显然你还需要在某个时候调用OnAmbientPropertyChange。