Отключите изображения, ActiveX и т. Д. В элементе управления VB6 WebBrowser с помощью DLCTL_NO_ - PullRequest
1 голос
/ 10 июня 2010

Как следует из названия, я хочу отключить изображения и элементы управления ActiveX в элементе управления веб-браузера vb6, используя DLCTL_NO_RUNACTIVEXCTLS и DLCTL_NO_DLACTIVEXCTLS

Microsoft говорит об этом здесь: http://msdn.microsoft.com/en-us/library/aa741313.aspx

Но я не вижу способа получить доступ к IDispatch :: Invoke из приложения vb6.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 10 июня 2010

У вас нет доступа к IDispatch :: Invoke в VB6, вы просто пишете свой метод, и IDispatch реализуется автоматически.

Public Function DlControl() As Long
    DlControl = DLCTL_NO_DLACTIVEXCTLS Or ...
End FUnction

Затем просто откройте Инструменты-> Атрибуты процедуры, а для функции DlControl откройте Advanced иприсвойте идентификатор процедуры -5512 (DISPID_AMBIENT_DLCONTROL).Это первая часть.

Вторая часть заключается в настройке клиентского сайта для пользовательской реализации IOleClientSite.Вам понадобится пользовательская библиотека типов, попробуйте OLELIB от Edanmo для объявления этих интерфейсов. Здесь - это пример delphi, как подключить вашу реализацию IOleClientSite.Очевидно, что в какой-то момент вам также придется вызвать OnAmbientPropertyChange.

0 голосов
/ 10 июня 2010

Я не думаю, что VB6 позволит вам добавить окружающие свойства.Попробуйте разместить ActiveX в другом контейнере (например, самостоятельно написанном хосте ActiveX - но я не знаю, сколько времени вы хотите потратить на объявление VB-дружественных интерфейсов OLE и их реализацию - или использовать другой ActiveX, такой как http://www.codeproject.com/KB/atl/vbmhwb.aspx вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...