Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: словить событие в html-документе Добавлено: 02.10.11 19:43  

Автор вопроса:  Zahar | Web-сайт: partnerka-ru.info
Необходимо отлавливать события пользователя в html-документе, загружаемом в WebBrowser в форме (VB.NET). Для отлова события клика мышью по различным элементам декларирую в модуле:
    
Public clsDoc As New clsDocument


После загрузки документа в WebBrowser:
  
clsDoc.DocumentCtl = WB.Document.DomDocument


Класс обработки события:
Public Class clsDocument


    Private WithEvents mDoc As mshtml.HTMLDocument ' Событийная переменная документа в обозревателе

        Public WriteOnly Property DocumentCtl() As mshtml.HTMLDocument
        Set(ByVal Value As mshtml.HTMLDocument)
            mDoc = Value
        End Set
    End Property

    Private Function mDoc_onclick() As Boolean Handles mDoc.onclick
        Dim el As mshtml.HTMLElementCollection = mDoc.parentWindow.event.srcElement
        call msgbox("Нажата тег "+el.tagname)
    End Function

End Class



События отлавливаются, как надо, однако из-за этого блокируются все другие события в документе (например, выделение текста, ввод символов в текстовые поля и т.д.)
Как сделать, чтобы при перехвате событий они обрабатывлись не ВМЕСТО, а ВМЕСТЕ с установленными для документа событиями.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #1
Добавлено: 02.10.11 22:20
  1. Private Function mDoc_onclick() As Boolean Handles mDoc.onclick

проблема в этом. по нажатию выполняется этот (пользовательский) код, перекрывая всё остальное.
http://www.google.ru/webhp?rlz=1C1CHMD_ruRU400RU400&sourceid=chrome-instant&ie=UTF-8&ion=1&nord=1#sclient=psy-ab&hl=ru&safe=off&rlz=1C1CHMD_ruRU400RU400&nord=1&site=webhp&source=hp&q=%D0%BE%D1%82%D0%BB%D0%BE%D0%B2%D0%B8%D1%82%D1%8C+%D0%BA%D0%BB%D0%B8%D0%BA+webbrowser&pbx=1&oq=%D0%BE%D1%82%D0%BB%D0%BE%D0%B2%D0%B8%D1%82%D1%8C+%D0%BA%D0%BB%D0%B8%D0%BA+webbrowser&aq=f&aqi=&aql=&gs_sm=s&gs_upl=0l0l0l5928l0l0l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=28a0901cf82d425d&biw=1285&bih=707&ion=1

Ответить

Номер ответа: 2
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #2
Добавлено: 02.10.11 22:27
блин, что за фигня, а?

Ответить

Номер ответа: 3
Автор ответа:
 Zahar



Вопросов: 91
Ответов: 67
 Web-сайт: partnerka-ru.info
 Профиль | | #3
Добавлено: 02.10.11 23:42
VbStarter пишет:
Private Function mDoc_onclick() As Boolean Handles mDoc.onclick

 проблема в этом. по нажатию выполняется этот (пользовательский) код, перекрывая всё остальное.



Нет, не думаю, что в этом. Если закоментировать всю функцию mDoc_onclick, оставив в модуле класса только функцию описания свойства класса, и в этом случае документ в WebBrowser остаётся мёртвым.

Ответить

Номер ответа: 4
Автор ответа:
 Zahar



Вопросов: 91
Ответов: 67
 Web-сайт: partnerka-ru.info
 Профиль | | #4
Добавлено: 02.10.11 23:43
В msdn на англицком я нашёл, что WithEvents может как подменять родные события, так и выполняться вместе с ними, но вот как обеспечить второй вариант - нигде не нашёл.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам