VB6.0中 有二个Form, FormA与FormB, 每个Form 有二个文本框,二个按钮.
要求:
现在不管光标在哪里
在FormA 在激活时,当按Tab,方向键上,下,左,右,分别显示a,b,c,d,e
在FormB 在激活时,当按Tab,方向键上,下,左,右,分别显示A,B,C,D,E
也就是说,在VB 中抓住 tab,方向键,虽然有些钩子方法能实现,但是它的识别键的方法是写在模块中的.我想把识别键的方法放到form中,也就是说每个Form有它自己键的定义.
请客位高手给在下,指点一下迷津.谢了.

解决方案 »

  1.   

    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
    Private Const VK_LEFT = &H25
    Private Const VK_RIGHT = &H27
    Private Const VK_TAB = &H9
    Private Const VK_UP = &H26
    Private Const VK_DOWN = &H28
    Private Sub Form_Load()
    Timer1.Enabled = True
    Timer1.Interval = 100
    End Sub
    Private Sub Timer1_Timer()
    If GetKeyState(VK_TAB) = -128 Or GetKeyState(VK_TAB) = -127 Then Me.Caption = "a"
    If GetKeyState(VK_LEFT) = -128 Or GetKeyState(VK_LEFT) = -127 Then Me.Caption = "b"
    If GetKeyState(VK_RIGHT) = -128 Or GetKeyState(VK_RIGHT) = -127 Then Me.Caption = "c"
    If GetKeyState(VK_UP) = -128 Or GetKeyState(VK_UP) = -127 Then Me.Caption = "d"
    If GetKeyState(VK_DOWN) = -128 Or GetKeyState(VK_DOWN) = -127 Then Me.Caption = "e"
    End Sub