Что нового

Удаление горячей клавиши

eBug

Новичок
Сообщения
4
Репутация
0
Как реализовать то, что в комментариях?

Код:
#include <GUIConstantsEx.au3>

GUICreate("Form1", 212, 82)
GUICtrlCreateGroup("Горячая клавиша", 16, 8, 179, 57)
$Button1 = GUICtrlCreateButton("Удалить", 24, 32, 75, 25)
$Button2 = GUICtrlCreateButton("Создать", 112, 32, 75, 25)
   GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

HotKeySet("{F2}", "FuncKey")

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
	  Case $GUI_EVENT_CLOSE
		 Exit
	  Case $Button1
		 ; Удаление горячей клавиши. Функция 'HotKeySet("{F2}", "FuncKey")' не работает.
		 GUICtrlSetState($Button1, $GUI_DISABLE)
		 GUICtrlSetState($Button2, $GUI_ENABLE)
		 MsgBox(0, "", "")
	  Case $Button2
		 GUICtrlSetState($Button1, $GUI_ENABLE)
		 GUICtrlSetState($Button2, $GUI_DISABLE)
		 HotKeySet("{F2}", "FuncKey")
		 MsgBox(0, "", "")
   EndSwitch
WEnd

Func FuncKey()
   MsgBox(0, "", "Горячая клавиша работает.")
EndFunc
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
#include <GUIConstantsEx.au3>

GUICreate("Form1", 212, 82)
GUICtrlCreateGroup("Горячая клавиша", 16, 8, 179, 57)
$Button1 = GUICtrlCreateButton("Удалить", 24, 32, 75, 25)
$Button2 = GUICtrlCreateButton("Создать", 112, 32, 75, 25)
   GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)

HotKeySet("{F2}", "FuncKey")

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $Button1
         HotKeySet("{F2}")
         GUICtrlSetState($Button1, $GUI_DISABLE)
         GUICtrlSetState($Button2, $GUI_ENABLE)
      Case $Button2
         GUICtrlSetState($Button1, $GUI_ENABLE)
         GUICtrlSetState($Button2, $GUI_DISABLE)
         HotKeySet("{F2}", "FuncKey")
   EndSwitch
WEnd

Func FuncKey()
   MsgBox(0, "", "Горячая клавиша работает.")
EndFunc
 
Автор
E

eBug

Новичок
Сообщения
4
Репутация
0
Решил так:

Код:
...
Case $Button1
   ; Удаление горячей клавиши. Функция 'HotKeySet("{F2}", "FuncKey")' не работает.
   HotKeySet("{F2}") ; Решение.
   GUICtrlSetState($Button1, $GUI_DISABLE)
   GUICtrlSetState($Button2, $GUI_ENABLE)
   MsgBox(0, "", "")
...
 
Верх