|
Форум AHK Программирование Уроки [Общее] Создание графического интерфейса |
[Общее] Создание графического интерфейса |
Offline
Многие из вас задавались вопросом "Как в АНК создать свой графический интерфейс?". Именно для вас я приготовил этот урок
В AutoHotkey есть поддержка GUI (Графический пользовательский интерфейс) и сама функция, с помощью которой можно создавать окна и элементы управления, а также управлять ими. Такие окна можно использовать в качестве форм ввода данных или собственных пользовательских интерфейсов Для того чтобы создать интерфейс, нам понадобится программа SmartGUICreator Скачиваем, запускаем, в сообщениях о том, что клавиша "does not exist in the current keyboard layout" нажимаем ОК И вот перед нами рабочее пространство с клеточками размером в 10 пикселей, справа от рабочего пространства окно-информер, а сверху панель инструментов Описание кнопок в панели инструментов: ======================== ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ======================== SmartGUICreator весьма хороший инструмент для создания графических интерфейсов, не считая его немногочисленных багов (ведь программа написана на AutoHotkey) Пробуйте создать такое окно с полем ввода и кнопкой: ![]() После создания своего интерфейса за помощью можем обращаться в раздел Вопрос-Ответ, но для начала изучите эти две страницы: GUI и GUI Controls У меня получился такой код: КодGui, Add, Edit, x6 y7 w220 h20, Текст Gui, Add, Button, x66 y37 w100 h30, Что я ввел? Gui, Show, h79 w235, Мой первый интерфейс Чтобы наш скрипт заработал как надо, а именно при нажатии кнопки выводил то, что мы ввели нужно применить опции, задающие элементам управления действия и переменные Сразу покажу код: КодGui, Add, Edit, x6 y7 w220 h20 vMyEdit, Текст Gui, Add, Button, x66 y37 w100 h30 gMyButton, Что я ввел? Gui, Show, h79 w235, Мой первый интерфейс return MyButton: GuiControlGet, MyEdit Msgbox, % MyEdit return GuiClose: ExitApp Слишком много информации? Сейчас все проясню v-метка - ассоциирует переменную с элементом управления Так, применив к указанному элементу "Edit" параметр vMyEdit, мы ассоциировали элемент с переменной MyEdit Т.е. теперь переменная MyEdit будет значением элемента указанного "Edit" g-метка - автоматически переходит к указанной метке, когда пользователь щелкает по элементу или изменяет его Так, применив к указанному элементу "Button" параметр gMyButton, мы указали скрипту переходить к указанной метке, когда кнопка будет нажата Т.е. теперь при нажатии кнопки "Что я ввел?" скрипт перейдет к метке MyButton Идем далее... GuiControlGet - функция получения информации указанного элемента И так с помощью этой функции GuiControlGet, MyEdit мы получаем информацию об элементе, в котором указана ассоциация с переменной MyEdit, в эту же переменную MyEdit Все остальное я объяснил в этом коде с комментариями: КодGui, Add, Edit, x6 y7 w220 h20 vMyEdit, Текст ; Создание элемента "Edit (Поле ввода)" с ассоциацией с переменной MyEdit Gui, Add, Button, x66 y37 w100 h30 gMyButton, Что я ввел? ; Создание элемента "Button (Кнопка)" с переходом к метке MyButton при нажатии кнопки Gui, Show, h79 w235, Мой первый интерфейс ; Вывод окна return ; Возвращение (дабы скрипт остановился на этом месте) MyButton: ; Метка, вызывающаяся при нажатии кнопки "Что я ввел?" GuiControlGet, MyEdit ; Функция получения информации о элементе, ассоциированном с переменной MyEdit Msgbox, % MyEdit ; Вывод значения переменной MyEdit в окно сообщения return ; Возвращение (дабы скрипт остановился на этом месте) GuiClose: ; Метка, вызывающаяся при закрытии окна "Мой первый интерфейс" ExitApp ; Закрытие скрипта |
| |||
| |||