'References: Microsoft HTML Object Library
'Controls: Microsoft Internet Controls
'добавить на форму WebBrowser с именем WebBrowser1
Private Sub Form_Load()
Dim mStr
As String
Dim mDoc
As MSHTML.IHTMLDocument
Dim mHTMLDocument
As MSHTML.HTMLDocument
'загрузка простого документа
WebBrowser1.navigate "res://mshtml.dll/blank.htm"
While WebBrowser1.document
Is Nothing
'ждём создания документа
DoEvents
Wend
Set mDoc = WebBrowser1.document
mStr = "<html>" & _
" <head><style type=""text/css"">" & _
" body {overflow-y: visible;}" & _
" span {color: #003DB2;}" & _
" li {cursor: hand;}" & _
" </style>" & _
" </head><body>" & _
" <ul>" & _
" <li id=""li1"" sel=""1"">пункт <span>1</span></li>" & _
" <li id=""li2"" sel=""0"">пункт <span>2</span> " & _
" (не активен)</li>" & _
" <li id=""li3"" sel=""1"">пункт <span>3</span></li>" & _
" </ul>" & _
" <div id=""txtout"">нужно кликнуть по списку</div>" & _
"</body></html>"
'меняем содержание всего документа
mDoc.Write mStr
Set mDoc =
Nothing
'присваиваем html документ
Set mHTMLDocument = WebBrowser1.document
'добавляем обработку событий с помощью JavaScript
Dim scr
As IHTMLScriptElement
With mHTMLDocument
'создаём скрипт
Set scr = .createElement("script")
scr.Type = "text/javascript"
'задаём текст скрипта
scr.Text = _
"function clickIt() {" & _
"txtout.innerHTML = " & _
"""выбран: "" + window.event.srcElement.outerText;}"
.appendChild scr
'задаём обработку событий для указанных элементов
.parentWindow.execScript _
"li1.attachEvent ('onclick',clickIt);" & _
"li3.attachEvent ('onclick',clickIt);"
End With
End Sub
Как отформатирован этот код?
2 Antonariy
- задавай вопрос на одном форуме, а то везде тебе отвечать приходится.