1

Тема: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

Есть три радио-кнопки, или чекбокса работающие в режиме "только один из группы" через GuiControl,,-=переменная=-,0.
Через

Есть TAB на три закладки.

Можно как то сделать так, что бы при выборе определенного чекбокса или радиокнопки автоматически выбиралась нужная закладка в TAB?
Ну кроме как решения  в лоб, смены переменной Choose%var_tab% в теле GUI, TAB при выборе чекбокса и вызове подпрограммы
GUI, Destroy
Reload

Просто русское описание функции GuiControl я не нашел. А англоязычную такое ощущение что октопод писал. К концу фразы даже гугл-переводчик забывает с чего все началось...

2

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

RacalCucumber, Вы пока вроде всё правильно рассуждаете. Давайте для начала покажите свой код - посмотрим в чём загвоздка.

3 (изменено: RacalCucumber, 2020-12-20 19:50:27)

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

Вот смотрите. Есть допустим три чекбокса

Gui, 1:  Add, CheckBox, x264 y24 w75 h23 gCheck vw1_p Checked%w1_p%, выбор 1
Gui, 1:  Add, CheckBox, x264 y64 w102 h23 gCheck vw2_p Checked%w2_p%, выбор 2
Gui, 1:  Add, CheckBox, x264 y104 w103 h23 gCheck vw3_p Checked%w3_p%, выбор 3

и ТАБ на три закладки

Gui, 1:  Add, Tab3, x8 y144 w523 h256 Choose%var_tab%, Настройка 1|Настройка 2|Настройка 3
Gui, 1:  Tab, 1
....
Gui, 1:  Tab, 2
....
Gui, 1:  Tab, 3
....

Поскольку выбивается только один из трех чекбоксов то по вызову Check прописано.

Check:
Gui, 1:submit, nohide
if(A_GuiControl="w1_p")
	{
		GuiControl,,w2_p,0
		GuiControl,,w3_p,0
	}
	if(A_GuiControl="w2_p")
	{
		GuiControl,,w1_p,0
		GuiControl,,w3_p,0
	}
	if(A_GuiControl="w3_p")
	{
		GuiControl,,w1_p,0
		GuiControl,,w2_p,0
	}
	Return

Вопрос. Можно ли через команду GuiControl сделать выбор одной из закладок ТАВ?

4 (изменено: RacalCucumber, 2020-12-20 19:38:23)

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

a..... только что доперло....
Gui, 1:  Add, Tab3, x8 y144 w523 h256 Choose%var_tab%, Настройка 1|Настройка 2|Настройка 3
вставляем vvar_tab

Gui, 1:  Add, Tab3, x8 y144 w523 h256 vvar_tab Choose%var_tab%, Настройка 1|Настройка 2|Настройка 3

и выбираем нужную закладку через
GuiControl,Choose, var_tab, нужный номер закладки

в мануале на команду TAB почему то о возможности вносить переменные нет ни слова....

5 (изменено: __Михаил__, 2020-12-20 19:43:22)

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

RacalCucumber

Снова код не оформлен тегом 'code'.

Вот вариант изменения, думаю разобраться можно:

Gui Add, Tab3, vTAB_BUTTON x0 y16 w314 h104, Tab 1|Tab 2
Gui Tab, 1
Gui Add, CheckBox, vCB1 HWNDhCB1 x16 y48 w120 h23, Выполнять сразу
Gui Add, CheckBox, vCB2 HWNDhCB2 x16 y72 w120 h23, С задержкой
Gui Add, Radio, vR1 HWNDhRK1 x152 y48 w120 h23, Короткий текст
Gui Add, Radio, vR2 HWNDhRK2 x152 y72 w120 h23, Radio Button
Gui Tab, 2
Gui Add, CheckBox, vCB3 HWNDhCB3 x16 y48 w120 h23, Выполнять сразу
Gui Add, CheckBox, vCB4 HWNDhCB4 x16 y72 w120 h23, Единоразово
Gui Add, Radio, vR3 HWNDhRK3 x152 y48 w120 h23, Короткий текст
Gui Add, Radio, vR4 HWNDhRK4 x152 y72 w120 h23, Длинный текст
Gui Tab

Gui Add, Button, gOk x10 y122, Выполнить

Gui Show, w327 h148, Тест окно:
Return


GuiEscape:
GuiClose:
ExitApp



Ok:
Gui, Submit, NoHide

GuiControl,, % hCB1, 1		;(1 - поставить / 0 - снять)
GuiControl,, % hCB2, 1

If R1
{
 GuiControl,, % hRK3, 1		;(1 - поставить / 0 - снять)
}
Else
 GuiControl,, % hRK4, 1

If CB2
 GuiControl, Choose, TAB_BUTTON, 2	; Меняет пункт в Табе.
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

6

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

select := 2
Gui, 1: Add, CheckBox, x264 y24 w75 h23 gCheck hwndw1_p, выбор 1
Gui, 1: Add, CheckBox, x264 y64 w102 h23 gCheck hwndw2_p, выбор 2
Gui, 1: Add, CheckBox, x264 y104 w103 h23 gCheck hwndw3_p, выбор 3
Gui, 1: Add, Tab3, vTab1 x8 y144 w523 h256, Настройка 1|Настройка 2|Настройка 3
Global oChecks := [w1_p, w2_p, w3_p]
Check(oChecks[select])
Gui Show, w327 h348, Тест окно:
Return

Check(CtrlHwnd) {
	for k, v in oChecks
		GuiControl, 1:, % v, % (CtrlHwnd = v, i := CtrlHwnd = v ? k : i)
	Sleep 1  ; Иначе не обновляется внешний вид CheckBox
	GuiControl, 1:Choose, Tab1, % i 
}
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

serzh82saratov

А 'Radio' переключатели упущены - непорядок.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

8

Re: AHK: Актуализация отрытой закладки в ТАВ от выбранного чек-бокса

__Михаил__
Да не, ничего не пропущено, всё как надо.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui