前端之家收集整理的这篇文章主要介绍了
VB 捕获 WebBrowser控件的鼠标和键盘事件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
利用 Document 的 event 对象,可以捕获 WebBrowser 众多的鼠标和
键盘事件的状态,如鼠标坐标、按下了
键盘哪个键,以及
键盘 Ctrl、Alt、Shift 键的状态、当前网页元素的ID、索引等等。 程序运行截图如下: ' ' '以下窗体
代码在 VB6 调试通过 '在“工程/部件”的控件对话框中勾选:Microsoft Internet Controls '在“工程/引用”对话框中勾选:Microsoft HTML Object Library '然后再窗体放置控件:WebBrowser1 '程序运行后,在网页上移动、单击鼠标,或按下
键盘某个键,注意窗体
标题栏给出的信息 '本人原创,转载请注明来源:http://hi.baidu.com/100bd/blog/item/8c280b6cb6e9e3ed43169495.html Private WithEvents ctDoc As MSHTML.HTMLDocument Private Sub Form_Load() WebBrowser1.Navigate "about:blank" '设置为空白页,否则 ctDoc = WebBrowser1.Document 会无效 Set ctDoc = WebBrowser1.Document WebBrowser1.Navigate "http://www.baidu.com/" End Sub Private Sub Form_Resize() On Error Resume Next WebBrowser1.Move 0,Me.ScaleWidth,Me.ScaleHeight End Sub Private Sub ctDoc_onmousemove() EventsHTML End Sub Private Sub ctDoc_onmousedown() EventsHTML End Sub Private Sub ctDoc_onmouseup() EventsHTML End Sub Private Function ctDoc_onkeypress() As Boolean EventsHTML End Function Private Sub ctDoc_onkeydown() EventsHTML End Sub Private Sub ctDoc_onkeyup() EventsHTML End Sub Private Sub EventsHTML() Dim nEvent As String,X As Long,Y As Long X = ctDoc.parentWindow.event.clientX '鼠标 x 坐标位置(像素) Y = ctDoc.parentWindow.event.clientY '鼠标 y 坐标位置(像素) nEvent = ctDoc.parentWindow.event.Type '事件
名称,如:MouseDown、MouseMove、MouseUp、KeyPress 等 nEvent = nEvent & ":" & X & "," & Y nEvent = nEvent & " Button=" & ctDoc.parentWindow.event.button '按下了鼠标那个键 nEvent = nEvent & " keyCode=" & ctDoc.parentWindow.event.keyCode '
键盘编码 ' nEvent = nEvent & " Ctrl=" & ctDoc.parentWindow.event.ctrlKey '
键盘 Ctrl 键的状态 ' nEvent = nEvent & " Alt=" & ctDoc.parentWindow.event.altKey '
键盘 Alt 键的状态 ' nEvent = nEvent & " Shift=" & ctDoc.parentWindow.event.shiftKey '
键盘 Shift 键的状态 On Error Resume Next nEvent = nEvent & " 元素=" & ctDoc.parentWindow.event.srcElement.tagName nEvent = nEvent & " 索引=" & ctDoc.parentWindow.event.srcElement.sourceIndex nEvent = nEvent & " ID=" & ctDoc.parentWindow.event.srcElement.id Me.Caption = nEvent End Sub '本人原创,转载请注明来源:http://hi.baidu.com/100bd/blog/item/8c280b6cb6e9e3ed43169495.html