agat344
Создать класс IEWindowEventHooker, а в нём написать
- Код: Выделить всё
Public WithEvents MyWB As SHDocVw.InternetExplorer
Public EventServer As SomeOtherClassForExampleForm1
Private Sub MyWB_КакоеТоСобытиеКотороеТыХочешьОтловить
EventServer.Event_КакоеТоСобытиеКотороеТыХочешьОтловить MyWB
End Sub
Private Sub MyWB_КакоеТоСобытие2КотороеТыХочешьОтловить(КакиеТоАргументы)
EventServer.Event_КакоеТоСобытие2КотороеТыХочешьОтловить MyWB, КакиеТоАргументы
End Sub
Private Sub MyWB_КакоеТоСобытие3КотороеТыХочешьОтловить(КакиеТоАргументы1, КакиеТоАргументы2)
EventServer.Event_КакоеТоСобытие3КотороеТыХочешьОтловить MyWB, КакиеТоАргументы1, КакиеТоАргументы2
End Sub
также создать класс SomeOtherClassForExampleForm1 (или использовать уже имеющуюся форму, в ней разместить
- Код: Выделить всё
Private Sub Event_КакоеТоСобытиеКотороеТыХочешьОтловить (ByVal EventSender As SHDocVw.InternetExplorer)
' Судя сваливаются все события всех окон IE.
' Пользуясь аргументом EventSender, можем определить, от какого окна событие
End Sub
Private Sub Event_КакоеТоСобытие2КотороеТыХочешьОтловить (ByVal EventSender As SHDocVw.InternetExplorer, КакиеТоАргументы)
' Судя сваливаются все события всех окон IE.
' Пользуясь аргументом EventSender, можем определить, от какого окна событие
End Sub
Private Sub Event_КакоеТоСобытиеКотороеТыХочешьОтловить (ByVal EventSender As SHDocVw.InternetExplorer, КакиеТоАргументы1, КакиеТоАргументы2)
' Судя сваливаются все события всех окон IE.
' Пользуясь аргументом EventSender, можем определить, от какого окна событие
End Sub
При создании новых окон IE также создавать новые экземпляры IEWindowEventHooker (Set NewIEWindowEventHooker = new IEWindowEventHooker ) и делать им
Set NewIEWindowEventHooker.MyWB = wbrowser1(index)
Set NewIEWindowEventHooker.EventServer = Me
Разумеется, ссылки на объекты-хукеры надо держать (например, поместив их в коллекцию).