如果我要实现在窗口中按CTRL+N,显示一条信息怎么做?不能用VB菜单制作器中制作菜单的方法,有人说用FORM1_keypress什么事件,这是没有理解题目,如果窗口中有文本框,当前文本框得到焦点,按CTRL+N怎么可以击发FORM1_keypress等事件呢(不能设置FROM1的KEYPREVIEW属性)?
==================
像VB菜单制作器中的快捷键(例如:CTRL+N)效果是怎么实现的,它不像系统热键对整个系统有效,不像设置窗口子类(在其子窗口得到焦点时)此快捷键依然有效起作用?

解决方案 »

  1.   

    为什么不能设置FROM1的KEYPREVIEW属性?
    如果设置了keypreview属性,在keydown时间里面写代码就可以了if shift=2 and keycode=vbkeyn then
         msgbox...............
    endif
      

  2.   

    Form_KeyDown事件Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
      If Shift = VBRUN.ShiftConstants.vbCtrlMask And (KeyCode = 110 Or KeyCode = 78) Then
      End If
    End Sub
      
    --------------------------------------------------------------
    程序,犹如人生。
      

  3.   

    你为什么“不能设置FROM1的KEYPREVIEW属性”??
    要不就设置系统热键,然后判断当前窗口,决定是否执行菜单的操作
      

  4.   

    请楼主解释一下为什么“不能设置FROM1的KEYPREVIEW属性”??
      

  5.   

    因为我的工程没有窗口(即FRM文件),全部由代码创建,相当于在VB下进行WINDOWS编程。所以不能用也没有这个属性可以用。
      

  6.   

    哦,明白了
    API版楼主问了很多问题,都是用API生成各个控件
    呵呵