VB代码VB小程序: 捕获 WebBrowser控件的鼠标和键盘事件
2011年04月16日
当前位置:首页 > VB 小程序 > VB 捕获 WebBrowser控件的鼠标和键盘事件
[b]83.[/b][b]VB 捕获 WebBrowser控件的鼠标和键盘事件[/b]
利用 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, 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
当前位置:首页 > VB 小程序 > VB 捕获 WebBrowser控件的鼠标和键盘事件
2011年04月16日
当前位置:首页 > VB 小程序 > VB 捕获 WebBrowser控件的鼠标和键盘事件
[b]83.[/b][b]VB 捕获 WebBrowser控件的鼠标和键盘事件[/b]
利用 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, 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
当前位置:首页 > VB 小程序 > VB 捕获 WebBrowser控件的鼠标和键盘事件