http://www.applevb.com/sourcecode/wbcustom.zip

解决方案 »

  1.   

    先画一个frame,然后把webbrowser放到frame中。
    frame的enable设为false.
      

  2.   

    rushing(勇敢的心):呵呵,你的办法倒是够坑哟!但如果我要允许左键点击,而屏蔽掉右键菜单,该怎么做?
      

  3.   

    那就做2个frame,一个套一个。最里面的放webbrowser。
    frame1.enabled=true
    frame2.enabled=false
    然后,就可以创造自己的单击事件。
      

  4.   

    楼上的,谢谢你的参与,但能麻烦你看一下 shawls(小山)(无业游民)(VB版的众矢之的) 的例子吗,我要的就是他的那个关闭上下文菜单的效果。
      

  5.   

    shawls(小山)(无业游民)(VB版的众矢之的) ,能告诉我你是怎么实现的吗,谢谢!
      

  6.   

    就按照我上面的方法,没有任何问题。
    在click事件中,先判断一下参数的值。
    如果是1就是左击,如果是2就是右击。(大致如此)
      

  7.   

    to JollyFred(蝈蝈) 代码是www.applevb.com的东西,不是我的自己研究吧,不好意思不过,我想,点击会引发一个事件,捕获这个事件就应该可以得,具体我也不是很清除
      

  8.   

    rushing(勇敢的心),不好意思,我还是没明白你的意思,能说的具体一点吗?
    frame2放在frame1里,WebBrowser放在frame2里?然后?
      

  9.   

    如果只是在点击的时候再判断,那我把鼠标移到webbrowse中的链接上的时候,还能变成手状的吗?
      

  10.   

    to shawls(小山)(无业游民)(VB版的众矢之的):
    不是我不想研究呀,他写在个dll里,我怎么看呀:(
    不过,那个例子倒是很典型的,可惜没有源码
      

  11.   

    Dim hw As LongPrivate Sub Command1_Click()
        WebBrowser1.Navigate Text1.Text
        WebBrowser1.Visible = True
    End SubPrivate Sub Form_Load()
        Dim h As Long, aClass As String, k As Long
        h = GetWindow(hwnd, GW_CHILD)
        aClass = Space$(128)
        Do While h
            k = GetClassName(h, aClass, 128)
            If Left$(aClass, k) = "Shell Embedding" Then hw = h: Exit Do
            h = GetWindow(h, GW_HWNDNEXT)
        Loop    WebBrowser1.Navigate ""
        origWndProc = SetWindowLong(hw, GWL_WNDPROC, AddressOf AppWndProc)
    End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        SetWindowLong hw, GWL_WNDPROC, origWndProc
    End SubPrivate Sub mnuPrint_Click()
        MsgBox "Print!"
    End SubPrivate Sub Text1_GotFocus()
        Text1.SelStart = 0
        Text1.SelLength = Len(Text1.Text)
    End Sub
      

  12.   

    楼上的,先谢谢拉!
    但我对api不是很熟悉,上面的程序除了要进行以下声名外,还要怎么做?
    Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As LongPublic Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As LongPublic Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
      

  13.   

    楼上的大哥,是不是忘了把模块里的代码copy出来拉?
    AppWndProc这个程序的内容是什么?