如何在键盘上实现SSTAB的两个选项卡的切换?能否给出具体操作或代码

解决方案 »

  1.   

    按Tab键实现切换Private Sub ssTab_KeyDown(KeyCode As Integer, Shift As Integer)
       Dim nTabCount As Integer           ‘选项卡总数
       Dim nSelectTab As Integer          '当前选中的选项卡
       
       If KeyCode = 9 Then
          nTabCount = ssTab.Tabs
          nSelectTab = ssTab.Tab
          nSelectTab = nSelectTab + 1
          ssTab.Tab = nSelectTab Mod nTabCount
       End If
    End Sub
      

  2.   

    Private Sub SSTab1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF11 Then
    'MsgBox "vbKeyF11"
    SSTab1.SetFocus
    SSTab1.Tab = 1
    End If
    If KeyCode = vbKeyF12 Then
    'MsgBox "vbKeyF12"
    SSTab1.SetFocus
    SSTab1.Tab = 2
    End If
    End Sub
      

  3.   

    如果是要在sstab未获取焦点的时候实现任何位置按键都切换tab选项卡是需要用系统键盘HOOK方法的!你可以找一下相关资料。
    如果窗口上只有TAB那就在 Form_KeyDown 和 SSTab1_KeyDown 事件里写一样的切换程序就可以了
    。另外快捷键不要用TAB键,那样如果选项卡里有其它控件就会有问题!这个方法也是有问题的,如果焦点不在TAB或form上就会有问题,除非你在所有控件keydown下面都写上切换代码
    Private Sub SSTab1_KeyDown(KeyCode As Integer, Shift As Integer)      Dim nTabCount As Integer           '选项卡总数
       Dim nSelectTab As Integer          '当前选中的选项卡
       
          If Shift = vbCtrlMask And KeyCode = vbKeyTab Then 'Ctrl+Tab
          nTabCount = SSTab1.Tabs
          nSelectTab = SSTab1.Tab
          nSelectTab = nSelectTab + 1
          SSTab1.Tab = nSelectTab Mod nTabCount
       End If
    End Sub
      

  4.   


    只是一个思路而已。你完全可以象3楼那样,用F系列按钮来循环切换。甚至ALT键等。