3131210 发表于 2017-5-22 01:34:39

[已解决]如何实现按ctrl+tab切换标签页?

本帖最后由 3131210 于 2017-5-23 15:26 编辑

如何实现按ctrl+tab切换标签页?#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <StaticConstants.au3>
#include <HotKeyInput.au3>
#include <HotKey_21b.au3>
#NoTrayIcon
Opt("SendCapslockMode", 0)
Opt("TrayMenuMode", 3)

Dim $var, $ime, $imee = ""
Local $sFilePath = @ScriptDir & "\Setting.ini"

#Region ### START Koda GUI section ### Form=

$Exists = "LP快捷辅助 - By Alex" ;判断是否只运行一个程序
If WinExists($Exists) Then
        WinSetState("", "", @SW_RESTORE)
        Exit
EndIf
AutoItWinSetTitle($Exists) ;修改程序窗口的标题名
$MyForm = GUICreate($Exists, 385, 370, 233, 139)
$Save = GUICtrlCreateButton("保存配置", 8, 330, 70, 30)
$Reset = GUICtrlCreateButton("重置配置", 108, 330, 70, 30)

$Tab = GUICtrlCreateTab(0, 0, 370, 20)
$TabSheet1 = GUICtrlCreateTabItem("LP快捷(Ctrl+1)") ;标签1
GUICtrlSetState(-1, $GUI_SHOW) ;优先显示
$LabelEN = GUICtrlCreateLabel("英文输入法", 8, 30, 64, 17)
$LabelCN = GUICtrlCreateLabel("中文输入法", 8, 62, 64, 17)
$Tab1Label1 = GUICtrlCreateLabel("生效", 10, 92, 28, 17)
$Tab1Label2 = GUICtrlCreateLabel("快捷", 54, 92, 28, 17)
$Tab1Label3 = GUICtrlCreateLabel("热键", 220, 92, 28, 17)
$Language1 = GUICtrlCreateCombo("None", 73, 26, 297, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
$Language2 = GUICtrlCreateCombo("None", 73, 58, 297, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))

For $i = 1 To 100
        $var[$i] = RegRead("HKEY_CURRENT_USER\keyboard layout\preload", $i)
        If Not $var[$i] Then
                $var = $i - 1
                ExitLoop
        EndIf
Next
For $i = 1 To $var
        $ime[$i] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\" & $var[$i], "Layout Text")
        If $ime[$i] Then $imee = $imee & $ime[$i] & "|"
Next

If StringRight($imee, 1) = "|" Then $imee = StringTrimRight($imee, 1)
GUICtrlSetData($Language1, $imee, $ime)
GUICtrlSetData($Language2, $imee, $ime)

Local $Tab1CheckboxNum ;总数
For $i = 0 To UBound($Tab1CheckboxNum) - 1 ;复选框
        $Tab1CheckboxNum[$i] = GUICtrlCreateCheckbox($i, 15, 110 + $i * 24, 190, 17)
Next

GUICtrlSetData($Tab1CheckboxNum, ' 0:欢迎语,还没有说明问题')
GUICtrlSetData($Tab1CheckboxNum, ' 1:索取账号')
GUICtrlSetData($Tab1CheckboxNum, ' 2:欢迎语,玩家已经说明问题')
GUICtrlSetData($Tab1CheckboxNum, ' 3:上传截图')
GUICtrlSetData($Tab1CheckboxNum, ' 4:长时间没回复')
GUICtrlSetData($Tab1CheckboxNum, ' 5:结束语')
GUICtrlSetData($Tab1CheckboxNum, ' 6:玩家满意度')
GUICtrlSetData($Tab1CheckboxNum, ' 7:稍等')
GUICtrlSetData($Tab1CheckboxNum, ' 8:再次服务')

Local $Tab1HKI ;总数
For $i = 0 To UBound($Tab1HKI) - 1 ;热键框
        $Tab1HKI[$i] = _GUICtrlHKI_Create(0, 220, 110 + $i * 24, 150, 17)
Next


$TabSheet2 = GUICtrlCreateTabItem("自定义快捷(Ctrl+2)") ;标签2

$TabSheet3 = GUICtrlCreateTabItem("杂项(Ctrl+3)") ;标签3
GUICtrlCreateTabItem("")

Local $sBtn =
Local $sHk = [["^1", $sBtn], ["^2", $sBtn], ["^3", $sBtn]]
GUISetAccelerators($sHk)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

                Case $sBtn
                        GUICtrlSetState($TabSheet1, 16)
                Case $sBtn
                        GUICtrlSetState($TabSheet2, 16)
                Case $sBtn
                        GUICtrlSetState($TabSheet3, 16)

        EndSwitch
WEnd

chzj589 发表于 2017-5-22 09:26:09

回复 1# 3131210

标签页就有快捷键,为何要重新设置?

fenhanxue 发表于 2017-5-22 11:07:28

系统自带 hotketset

xzh531 发表于 2017-5-22 16:10:01

系统自带 hotketset
页: [1]
查看完整版本: [已解决]如何实现按ctrl+tab切换标签页?