1

Тема: AHK: GUI

Вечер добрый уважаемые форумчане. Хотелось бы попросить у вас помощи вот в такой теме.
У меня есть программа с GUI-интерфейсом. Сейчас занялся переделкой данного интерфейса под более компактный и удобный, так как функционал программы растет.
Может кто подсказать, а лучше бы конечно примером, как сделать данный интерфейс по вкладкам. Например, вкладка 1, 2, 3, 4 и в каждой будет свое кол-во функций (клавиш).
Пробывал через Tab, но не совсем понял как редактировать сам интерефейс в размерах - так как кол-во моих функций в нем не помещается.
Также хотелось бы разобраться вот с такими вопросами:
* как включить возможность сохранения настроек GUI - то есть введенной информации
* Как включить возможность динамического изменения значений, то есть, программа работает, но в это время можно отключить использование какой либо клавиши, или поменять время.
* Как через GUI задать точное испольнение времени, то есть задал 10 сек, то цикл повториться через 10 сек (учитывая Sleepы)

Вот часть скрипта существующего уже GUI

Gui, Add, Text, cRed, ESC-ПАУЗА

    Gui, Add, Text, x10 y30 w210 h20, Выбрать монстра, (сек)
    Gui, Add, Edit, x222 y30 w100 h20 vMonster, 5

    Gui, Add, Text, x10 y58 w210 h20 , F1: умение(сек)
    Gui, Add, Edit, x222 y58 w100 h20 vLength1, 4
    Gui, Add, DropDownList,  x335 y58 w120 h50 vF1, Использовать||Неиспользовать

    Gui, Add, Text, x10 y86 w210 h20, F2:   умение(сек)
    Gui, Add, Edit, x222 y86 w100 h20 vLength2, 30
    Gui, Add, DropDownList, x335 y86 w120 h50 vF2, Использовать||Неиспользовать

    
    Gui, Add, Text, x10 y310 w210 h20, F4- ХП <
    Gui, Add, Edit, x222 y310 w100 h20 vLength11, 12000
    
    Gui, Add, Text, x10 y435 w210 h20, F5- сбор лута
                    
    Gui, Add, Button, x390 y450 w210 h40 , Начало!!!!
    Gui, Add, Button, x390 y490 w210 h40 , Пауза
    Gui, Show, Autofit
    Return


    ButtonНачало!!!!:
    Gui, Submit, NoHide
    If F15!= Закрыть_ЛС
    {
       a4:=1
    }
    Gui, Submit, NoHide
    If F1!= Использовать
    {
       Length1 := 6000000000
    a1=%Length1%
    }
    If F2!= Использовать
    {
       Length2 := 6000000000
    a2=%Length2%
    }
    If F3!= Использовать
    {
       Length3 := 6000000000
    a3=%Length3%
    }

2

Re: AHK: GUI

Пример табов, в справке все подробно описано.

Gui, Add, Tab, , Tab1|Tab2|Tab3
Gui, Tab, 1
Gui, Add, Edit, R10
Gui, Tab, 2
Gui, Add, Button,, Нажми
Gui, Tab, 3
Gui, Add, ListView, R10 x+5 Grid , А|И|В|ВО
Gui, Show, AutoSize Center

3

Re: AHK: GUI

Zohann пишет:

Пример табов, в справке все подробно описано.

Gui, Add, Tab, , Tab1|Tab2|Tab3
Gui, Tab, 1
Gui, Add, Edit, R10
Gui, Tab, 2
Gui, Add, Button,, Нажми
Gui, Tab, 3
Gui, Add, ListView, R10 x+5 Grid , А|И|В|ВО
Gui, Show, AutoSize Center

Читал справку, но скажем так "не вкурил" ее описание. Конкретно не получилось задать базовый размер окна, или он автоматически меняет размер при заданных кнопках?

4

Re: AHK: GUI


Gui, Add, Button, x390 y450 w210 h40 , Start
Gui, Add, Button, x390 y490 w210 h40 , Pause

Gui, Add, Tab, x5 y5, Tab1|Tab2|Tab3|Tab4
Gui, Tab, Tab1
Gui, Add, Text, , Выбрать монстра, (сек)
Gui, Add, Edit, vMonster, 5

Gui, Tab, Tab2
Gui, Add, Text, , F1: умение(сек)
Gui, Add, Edit, vLength1, 4
Gui, Add, DropDownList, choose1 vF1, Использовать|Неиспользовать

Gui, Tab, Tab3
Gui, Add, Text, , F2:   умение(сек)
Gui, Add, Edit, vLength2, 30
Gui, Add, DropDownList, choose1 vF2, Использовать|Неиспользовать

Gui, Tab, Tab4
Gui, Add, Text, , F4- ХП <
Gui, Add, Edit, vLength11, 12000

Gui, Add, Text, , F5- сбор лута
				
Gui, Show, Autofit
Return


ButtonStart:
Gui, Submit, NoHide
If F1!= Использовать
{
	Length1 := 6000000000
	a1=%Length1%
}
If F2!= Использовать
{
	Length2 := 6000000000
	a2=%Length2%
}
If F3!= Использовать
{
	Length3 := 6000000000
	a3=%Length3%
}
Return

GuiEscape:
ButtonPause:
Pause, Toggle
Return

GuiClose:
ExitApp

5 (изменено: kamaz, 2011-12-16 09:27:11)

Re: AHK: GUI

Mixail
Огромное спасибо! Это как раз то что мне и нужно было.


и еще один маленький вопрос. можно ли как то убрать эту область? она не мешает, но "скажем так выглядит не красиво"
http://i061.radikal.ru/1112/be/7ecbee87a58b.jpg

6

Re: AHK: GUI

и еще вопросы:
* как включить возможность сохранения настроек GUI - то есть введенной информации
* Как включить возможность динамического изменения значений, то есть, программа работает, но в это время можно отключить использование какой либо клавиши, или поменять время.
* Как через GUI задать точное испольнение времени, то есть задал 10 сек, то цикл повториться через 10 сек (учитывая Sleepы)

или это уже другая тема?

7 (изменено: creature.ws, 2011-12-16 11:37:55)

Re: AHK: GUI

* Элементы GUI могут имееть ассоциированную переменную изменяемую при изменении соответствующего элемента  (вида vVarName)
* Элементы GUI могут имееть g-Label вызываемый при изменении (вида gLabelName)
* Так и задать GUI к вопросу не причём.

«Область на рисунке» — границы «Tab» убрать их можно переместив к границам окна либо удалив из gui элемент «Tab»

8 (изменено: kamaz, 2011-12-16 12:34:35)

Re: AHK: GUI

creature.ws

* насчет настроек уже понял) буду разбираться в iniwrite
* Спасибо)
* к сожилению у меня идет какая то не понятная задержка - при добавлении еще одного цикла или изменения каких то Sleep - в GUI время меняется - например 5 минут это уже будет 250 что то убрать добавить может измениться до 470. вот как сделать так чтобы 300 - было 5 минут. А слипы в самом цикле - например Sleep 1000, Send ф1 - добавлялось к времени на GUI - то есть если задано 300, то учитывая слип будет 301.

А насчет области - я так и не понял как ее убрать

9

Re: AHK: GUI

ButtonGo:
SetTimer, Timer1, 10000 ; нажатие кнопки Go приведет к запуску таймера Timer1
Return

Timer1:
; тут действие будет исполняться каждые 10 сек
Return

Вместо 10000 можно использовать переменную, менять ее значение, и затем опять применять SetTimer.