1 (изменено: DaGer, 2018-07-20 15:08:13)

Тема: AHK GUI: Как применить CheckBox?

Как применить CheckBox На простое действие?


Gui, Add, Text, x12 y10 w100 h20 , qqqqq, wwwww, eeeee
Gui, Add, CheckBox, x120 y10 w10 h20 ,
Gui, Show, w161 h100, Untitled GUI
return

q:
SendInput, qqqqq
return
w:
SendInput, wwwww
return
e:
SendInput, eeeee
return
GuiClose:
ExitApp

2

Re: AHK GUI: Как применить CheckBox?

Помощь? что не правильно, как нибудь можно упростить все это ?


Gui, Add, Text, x12 y10 w100 h50 , qqqqq, wwwww, eeeee
Gui, Add, CheckBox, x120 y10 w10 h20 gg1 gg2 gg3 vq vw ve, q w e
Gui, Show, w161 h100, Untitled GUI
return

g1:
Gui, Submit, NoHide
if q = 1
Hotkey, q, q, On
else
Hotkey, q, q, Off
return

g2:
Gui, Submit, NoHide
if w = 1
Hotkey, w, w, on
else
Hotkey, w, w, off
return

g3:
Gui, Submit, NoHide
if e = 1
Hotkey, e, e, on
else
Hotkey, e, e, off
return


q:
SendInput, qqqqq
return
w:
SendInput, wwwww
return
e:
SendInput, eeeee
return

GuiClose:
ExitApp

3

Re: AHK GUI: Как применить CheckBox?

Код странный. Как это на одном чекбоксе 3 метки, 3 переменные?

4

Re: AHK GUI: Как применить CheckBox?

Хорошо. как можно сделать правильно чтобы на одном чекбоксе было завязано 2,4 10 действий?

5

Re: AHK GUI: Как применить CheckBox?


...
Gui, Add, CheckBox, x120 y10 w10 h20 gcb_action vcb_value,0
...

cb_action:
GoSub, action1
GoSub, action2
msgbox cb_action
;...
;GoSub, action10
return

action1:
msgbox action1
return
action2:
msgbox action2
return

6

Re: AHK GUI: Как применить CheckBox?

MandarinKa02
Спасибо но
Мне нужно когда я активирую чекбокс я мог сам жать тот хоткей который мне нужен, а тут он все запускает подряд.

7 (изменено: qqlexa, 2018-07-21 01:38:41)

Re: AHK GUI: Как применить CheckBox?

DaGer, а ты после нажатия на этот чекбокс создай ещё одно GUI где будет спрашивать что вы именно хотели. Там и выбрать.

хоткей который мне нужен

8

Re: AHK GUI: Как применить CheckBox?

Если не сложно пример можешь показать?

9

Re: AHK GUI: Как применить CheckBox?

Gui, 1: -SysMenu
Gui, 1:Add, CheckBox, w80 h40 gcb_action vcb_value, Тык
Gui, 1:Show
return

cb_action:
Gui, Submit, NoHide
Gui, 2: -SysMenu
Gui, 2:Add, Button, w120 h40 gaction1 , Первая кнопка
Gui, 2:Add, Button, w120 h40 gaction2 , Вторая кнопка
Gui, 2:Add, Button, w120 h40 gaction3 , Третья кнопка
Gui, 2:Show
return

; Выполнение первой кнопки 
action1: 
Gui, 2:Destroy
msgbox action1
return


; Выполнение второй кнопки 
action2:
Gui, 2:Destroy
msgbox action2
return

; Выполнение третьей кнопки 
action3:
Gui, 2:Destroy
msgbox action3
return

10 (изменено: powercat, 2018-07-21 17:14:34)

Re: AHK GUI: Как применить CheckBox?

Хорошо. как можно сделать правильно чтобы на одном чекбоксе было завязано 2,4 10 действий?

#NoEnv
SetBatchLines, -1

Gui, Add, Text, x12 y10 w100 h50 , qqqqq, wwwww, eeeee
Gui, Add, Checkbox, vval gfunc
Gui, Show, w161 h100, Untitled GUI

func()
{
	global
	Gui, Submit, NoHide
	if val = 0
		Hotkey("Off")
	else
		Hotkey("On")
     if GetKeyState(key0, "P")
	{
		msgbox 1
	}
	if GetKeyState(key1, "P")
	{
		msgbox 2
	}
	if GetKeyState(key2, "P")
	{
		msgbox 3
	}
}

Hotkey(state)
{
	global
	key0 = *~$1
	Hotkey, %key0%, func, UseErrorLevel %state%
	StringReplace, key0, key0, *~$
	key1 = *~$2
	Hotkey, %key1%, func, UseErrorLevel %state%
	StringReplace, key1, key1, *~$
	key2 = *~$3
	Hotkey, %key2%, func, UseErrorLevel %state%
	StringReplace, key2, key2, *~$
}

Поправил чуть-чуть.

11

Re: AHK GUI: Как применить CheckBox?

powercat
Именно то что мне нужно спасибо большое!!

12

Re: AHK GUI: Как применить CheckBox?

DaGer пишет:

Мне нужно когда я активирую чекбокс я мог сам жать тот хоткей который мне нужен, а тут он все запускает подряд.

Так в последнем коде тоже сразу все хоткеи активны.

Может так:


#UseHook
Select := 0
Gui, Add, Text, vText1, qqqqq
Gui, Add, Text, x+5 vText2, wwwww 
Gui, Add, Text, x+5 vText3, eeeee
Gui, Add, CheckBox, x+5 gCheckBox vCheckBox
Gui, Show 
return

CheckBox: 
	GuiControl, -0x7, Text%Select%  ;	SS_BLACKFRAME
	If Select := Select < 3 ? ++Select : 0
		GuiControl, , CheckBox, 1
	GuiControl, +0x7, Text%Select%  ;	SS_BLACKFRAME
	return
	
#If Select = 1
q:: SendInput, qqqqq 
#If Select = 2
w:: SendInput, wwwww 
#If Select = 3
e:: SendInput, eeeee 
#If

Или так:


#UseHook 
Gui, Add, Radio, gCheck, qqqqq
Gui, Add, Radio, x+5 gCheck, wwwww 
Gui, Add, Radio, x+5 gCheck, eeeee
Gui, Add, Radio, x+5 Checked gCheck, off
Gui, Show 
return 

Check: 
	Select := A_GuiControl
	return
	
#If (Select = "qqqqq")
q:: SendInput, qqqqq 
#If (Select = "wwwww")
w:: SendInput, wwwww 
#If (Select = "eeeee")
e:: SendInput, eeeee 
#If
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v20H2, AutoHotkey_L v1.1.33.09 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

13

Re: AHK GUI: Как применить CheckBox?

Спасибо, буду знать!