找了很多资料都没有怎么去掉OWC画图自带的右键菜单,所以想了另一种方法.
在OWC画图区域用另一个控件B来遮盖,然后设置B的透明度为100%,这样单击右键时就是在B上的右键事件.
但是这个控件B应该用什么控件呢?我试过一些比如说Panel,但是Panel根本就没有透明这个属性.请高手指点下.
分不够可以再加.如果有知道如何去掉OWC自带的右键菜单,也可说说,重分酬谢!

解决方案 »

  1.   

    如果是WEB你可以弄个透明的DIV
    如果是WIN你可以截获鼠标消息
      

  2.   

    比如说private const int WM_RBUTTONDOWN = 0x204;
    private const int WM_RBUTTONUP = 0x205;
    private const int WM_RBUTTONDBLCLK = 0x206;这三个消息
      

  3.   

    如果是WIN你可以截获鼠标消息这个能说明白些吗?
      

  4.   

    当然可以去掉或者自定义owc的菜单,通过BeforeContextMenu和CommandExecute事件来自定义。
    web例子,win程序类似:<script language=vbscript>
    Sub Spreadsheet1_BeforeContextMenu(x, y, Menu, Cancel)
       Dim vntMenu(2)
       vntMenu(0) = Array("Lights!", "CmdLights")
       vntMenu(1) = Array("Camera!", "CmdCamera")
       vntMenu(2) = Array("Action!", "CmdAction")
       Menu.Value = vntMenu
    End SubSub Spreadsheet1_CommandExecute(Command, Succeeded)
    'msgbox vartype(command)
       If VarType(Command) = vbString Then
          Select Case Command
             Case "CmdLights"
                CmdLights
             Case "CmdCamera"
                CmdCamera
             Case "CmdAction"
                CmdAction
          End Select
       End If
    End SubSub CmdLights()
       MsgBox "Lights!"
    End SubSub CmdCamera()
       MsgBox "Camera!"
    End SubSub CmdAction()
       MsgBox "Action!"
    End Sub
    </script>参考MSDN详细介绍:
    http://msdn.microsoft.com/en-us/library/aa155730(office.10).aspx