1

Тема: AHK: tab1/tab2

Здравствуйте. Возник такой вопрос
Есть код


Gui, Add, Tab,  , Тест1|Тест2
Gui, Tab, Тест1
Gui, Add, Button,  1
Gui, Add, Button,  2
Gui, Tab, Тест2
Gui, Add, Button,  3
Gui, Add, Button,  4

F1::Gui, Show

При нажатии f1 открывается окно всегда с вкладки Тест1
А есть возможность, присвоить каждой вкладке свою кнопку, к примеру на f1 запускается вкладка Тест 1 , а при нажатии F2 , становиться активная вкладка тест2 ?

2

Re: AHK: tab1/tab2

В каком смысле "запускается вкладка"? Может "происходит переключение на вкладку №..."?

3

Re: AHK: tab1/tab2

ypppu

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

4

Re: AHK: tab1/tab2

Последнее сообщение только больше  запутало.

5

Re: AHK: tab1/tab2

ypppu

Нажимаем F1 открывается окно с вкладками Тест1 и тест2 по проведенному коду.  По умолчанию всегда открыто тест1. Как сделать так что бы при нажатии F1 окно открывалась с активной вкладкой тест 2  ?

6

Re: AHK: tab1/tab2

Вот так:


Gui, Add, Tab,  Choose2, Тест1|Тест2
Gui, Tab, Тест1
Gui, Add, Button,  1
Gui, Add, Button,  2
Gui, Tab, Тест2
Gui, Add, Button,  3
Gui, Add, Button,  4

F1::Gui, Show

7 (изменено: ustarta, 2020-09-07 20:21:45)

Re: AHK: tab1/tab2

ypppu

Спасибо, уже понятнее. Но, как теперь,  сделать так, что бы на f1 открывалось вкладка тест1, а на f2 вкладка тест2

Я пока это вижу как создание нового меню с активной вкладкой 2

На пример так, но это малость мудренно, если таких вкладок будет много




Gui, Add, Tab,  Choose1, Тест1|Тест2
Gui, Tab, Тест1
Gui, Add, Button,  1
Gui, Add, Button,  2
Gui, Tab, Тест2
Gui, Add, Button,  3
Gui, Add, Button,  4





Gui, 2:Add, Tab,  Choose2, Тест1|Тест2
Gui, 2:Tab, Тест1
Gui, 2:Add, Button,  1
Gui, 2:Add, Button,  2
Gui, 2:Tab, Тест2
Gui, 2:Add, Button,  3
Gui, 2:Add, Button,  4


F1::Gui, Show
F2::Gui, 2:Show
return

8

Re: AHK: tab1/tab2

ustarta, используйте GuiControl, Choose.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK: tab1/tab2

Разберите этот пример.

Gui, Add, Tab, vMyTab Choose2, Тест1|Тест2
Gui, Tab, Тест1
Gui, Add, Button,  1
Gui, Add, Button,  2
Gui, Tab, Тест2
Gui, Add, Button,  3
Gui, Add, Button,  4
Gui, Show

Sleep, 2000
GuiControl, Choose, MyTab, 1
Return

10 (изменено: ustarta, 2020-09-07 21:44:12)

Re: AHK: tab1/tab2

Спасибо. Можно ли добавить комментарии, как должно работать, или ссылку для примера работающего скрипта.

Перерыл инструкции по GuiControl, Choose и не понимаю как это должно работать.

11

Re: AHK: tab1/tab2

Разобрался что меняются вкладки по sleep .  но как все это перенести на кнопку?

12

Re: AHK: tab1/tab2

На F2 переключается на вкладку тест 2, но но не удается переключить на тест1 .

F1::
GuiControl, Choose, MyTab, Тест1
F2::
GuiControl, Choose, MyTab, Тест2
Return

13

Re: AHK: tab1/tab2

Справка имеется, рабочий пример был дан. Остаётся включить голову.

14

Re: AHK: tab1/tab2

ustarta

Вроде всё просто:

F6::
Gui, Add, Tab, vTAB_BUTTON, Тест1|Тест2	; Главное указать переменную для таб-меню.
Gui, Tab, Тест1
Gui, Add, Button,  1
Gui, Add, Button,  2

Gui, Tab, Тест2
Gui, Add, Button,  3
Gui, Add, Button,  4
Gui, Show
Return


F1::
GuiControl, Choose, TAB_BUTTON, 1	; Меняет пункт в Табе.
Return

F2::
GuiControl, Choose, TAB_BUTTON, 2	; Меняет пункт в Табе.
Return

; Противоположное меню.
F4::
Gui, Submit, NoHide ; Получить переменные от Gui.
T := 1
If TAB_BUTTON = Тест1
 T := 2
GuiControl, Choose, TAB_BUTTON, % T
Return
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101