整样才能让Webbrowser控件里的网页也能响应click或mousedown mouseup事件

解决方案 »

  1.   

    对编写脚本熟悉的读者都知道页面中可以添加脚本响应元素的事件,例如超链接的OnClick事件,图片的OnMouseMove事件,我们也可以使VB程序响应这些事件。下面是一个VB响应页面中按钮的Click事件的代码: 
    首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码: Option Explicit Public Sub Some_Procedure() 
    MsgBox "你点击了按钮." 
    End Sub Private Sub Form_Load() 
    '下载空页面 
    WebBrowser1.Navigate2 "about:blank" 
    End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) 
    '建立事件响应类 
    Dim cfForward As clsForward '定义在浏览器中显示的HTML代码,其中包含一个按钮btnMyButton 
    Dim sHTML As String 
    sHTML = "<P>This is some text.</P>" 
    sHTML = sHTML & "<P>And here is a button.</P>" 
    sHTML = sHTML & "<BUTTON ID=btnMyButton>" 
    sHTML = sHTML & "Click this button.</BUTTON>" '将HTML代码写入浏览器 
    WebBrowser1.Document.body.innerHTML = sHTML '将事件响应类连接到页面的按钮btnMyButton上 
    Set cfForward = New clsForward 
    cfForward.Set_Destination Me, "Some_Procedure" 
    WebBrowser1.Document.All("btnMyButton").onclick = cfForward 
    End Sub 向工程中添加一个Class Module,Class Module的Name属性设定为clsForward,在clsForward中添加以下代码: Option Explicit Dim oObject As Object 
    Dim sMethod As String 
    Dim bInstantiated As Boolean Private Sub Class_Initialize() 
    bInstantiated = False 
    End Sub Public Sub Set_Destination(oInObject As Object, sInMethod As String) 
    Set oObject = oInObject 
    sMethod = sInMethod 
    bInstantiated = True 
    End Sub Public Sub My_Default_Method() 
    If bInstantiated Then 
    CallByName oObject, sMethod, VbMethod 
    End If 
    End Sub 运行程序,点击Webbrowser中的“Click this button”按钮。程序就会弹出消息框提示“你点击了按钮.”
      

  2.   

    网页中的响应click或mousedown mouseup事件的原代码如下:(把它放到WebBrowser中一样的),但是如果你要在网页中触发VB的click或mousedown mouseup事件是不可能的<HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
    <TITLE></TITLE>
    <SCRIPT  LANGUAGE=javascript>
    <!--function window_onload() {
    infoDiv.innerHTML+="<font color='red' align=center>Load...</font><br>";
    }function button1_onclick() {
    infoDiv.innerHTML+="<font color=blue align=center>Click Button...</font><br>";
    }function button1_onmouseup() {
    infoDiv.innerHTML+="<font color=green align=center>Mouse Up...</font><br>";
    }function button1_onmousedown() {
    infoDiv.innerHTML+="<font color=black align=center>Mouse Down...</font><br>";
    }//-->
    </SCRIPT>
    </HEAD>
    <BODY LANGUAGE=javascript onload="return window_onload()"><P><INPUT id=button1 type=button value=Button name=button1 LANGUAGE=javascript onclick="return button1_onclick()" onmouseup="return button1_onmouseup()" onmousedown="return button1_onmousedown()"></P>
    <div id=infoDiv></div>
    </BODY>
    </HTML>
      

  3.   

    <A href="http://www.sina.com">sina</A>加在<body>下就是超链接了
      

  4.   

    TechnoFantasy的方法我试过了,没有用嘛。