• Страница 1 из 1
  • 1
[Общее] Создание графического интерфейса
Владислав
Дата: Четверг, 14.11.2013, 17:51 | Сообщение # 1
Главный
Сообщений:
527
Награды:
5
Offline
Многие из вас задавались вопросом "Как в АНК создать свой графический интерфейс?". Именно для вас я приготовил этот урок

В AutoHotkey есть поддержка GUI (Графический пользовательский
интерфейс) и сама функция, с помощью которой можно создавать окна и
элементы управления, а также управлять ими. Такие окна можно
использовать в качестве форм ввода данных или собственных
пользовательских интерфейсов

Для того чтобы создать интерфейс, нам понадобится программа SmartGUICreator
Скачиваем, запускаем, в сообщениях о том, что клавиша "does not exist in the current keyboard layout" нажимаем ОК
И вот перед нами рабочее пространство с клеточками размером в 10
пикселей, справа от рабочего пространства окно-информер, а сверху панель
инструментов

Описание кнопок в панели инструментов:

========================

Button (Кнопка)

CheckBox (Флажок)

Radio (Переключатель)

Edit (Поле ввода)

Text (Надпись)

GroupBox (Рамка)

Picture (Изображение)

DropDownList (Выпадающий список)

ComboBox (Выпадающий список с полем ввода)

ListBox (Список)

ListView (Список)

DateTime (Дата и время)

MonthCal (Календарь)

Progress (Индикатор прогресса)

Slider (Ползунок)

Hotkey (Горячая клавиша)

Tab (Вкладки)

UpDown (Счётчик)

Font (Шрифт)

========================
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 ; Закрытие скрипта
  • Страница 1 из 1
  • 1
Поиск: