按纽控件有快捷键,如command1控件caption为:打开(&O),那么在窗体上时按ALT+O就可以触发COMMAND1控件中的事件。现在做一个新的command控件,怎么才能实现这个功能,请教!!!
各种方法都可以,只要能实现就可以~

解决方案 »

  1.   

    //现在做一个新的command控件
    是自定义控件吗?
      

  2.   

    给你个参考代码:Public Property Let Caption(sCaption As String)
        Dim i As Integer, j As Integer    i = InStrRev(sCaption, "&")
        Do While i
            If Mid$(sCaption, i, 2) = "&&" Then
                i = InStrRev(i - 1, sCaption, "&")
            Else
                j = i + 1: i = 0
            End If
        Loop    If j Then AccessKeys = Mid$(sCaption, j, 1)
        ......
        PropertyChanged "Caption"
    End Property
      

  3.   

    我一直在用,怎么会不管用呢。
    最主要的是Controls的AccessKeys属性。
      

  4.   

    那把ACCESSKEYS属性的代码贴出来参考一下吧!
      

  5.   

    我改了不管用啊~ 就是在let caption里面改了那一段就可以了嘛
      

  6.   

    //我改了不管用啊~ 就是在let caption里面改了那一段就可以了嘛
    是的。设置caption为:打开(&O)后就有了ALT+O的快捷键。
      

  7.   

    纠正,应该是:
    CanGetFocus=True
    ForwardFocus=False
      

  8.   

    愁死啦,不行啊!!!控件caption为:查找(&F)
    代码:
    Public Property Let Caption(ByVal NewCaption As String)    '快捷键功能
        Dim i As Integer, j As Integer
        i = InStrRev(NewCaption, "&")
        Do While i
            If Mid$(NewCaption, i, 2) = "&&" Then
                i = InStrRev(i - 1, NewCaption, "&")
            Else
                j = i + 1: i = 0
            End If
        Loop
        If j Then AccessKeys = Mid$(NewCaption, j, 1)
        
        m_sCaption = NewCaption
        PropertyChanged "Caption"
        UserControl_Resize
        Refresh
        
    End Property程序运行之后alt+F还是不行啊~~~~
      

  9.   

    你的代码我测试通过啊,可以正常发生如下事件:Private Sub UserControl_AccessKeyPress(KeyAscii As Integer)End Sub
      

  10.   

    CanGetFocus=True
    ForwardFocus=False
    这二个属性是要自己编写吗?还是继承来的?
    能不能把你的程序代码中这一部分详细资料传过来参考一下,谢谢了。
    [email protected]