1

Тема: AHK: Гаджеты

Мой основной файл:

#Include shutdownmenu.ahk
#Include raspisan.ahk

Shutdownmenu.ahk :

Gui, 2:-Caption -Resize -SysMenu +ToolWindow
Gui, 2:Color, 0000FF
Gui, 2:Add, Picture, x0 y0 gShut, R:\Gadget\AHK\ShutdownMenu\shutdown.gif
Gui, 2:Add, Picture, x67 y0 gRest, R:\Gadget\AHK\ShutdownMenu\restart.gif
Gui, 2:Add, Picture, x134 y0 gSleep, R:\Gadget\AHK\ShutdownMenu\sleep.gif
Gui, 2:Show, x10 y900 h64 w198, ShutDown Menu
WinSet, TransColor, 0000FF, ShutDown Menu
Return

;дальше соответствующие лейблы (Shut, Rest, Sleep)  думаю приводить их код не имеет смысла

Raspisan.ahk :

Gosub, Init3Gui
Gosub, TodayRasp
return



Init3Gui:
Gui, 3:Destroy
Gui, 3:-Caption -Resize -SysMenu +ToolWindow
Gui, 3:Color, 00376E
Gui, 3:Font, s18 cFFFFFF w700, Arial
Gui, 3:Add, Text, vTheDayText w269,
Loop 5{
Gui, 3:Add, Text, c666699 w269 vDayText%A_Index%, 
}
Gui, 3:Font, s16 cFFFFFF w6000 underline, Arial
Gui, 3:Add, Text, x21 y259 gTodayRasp vTodBut, Сегодня
Gui, 3:Add, Text, x122 y259 gTomorRasp vTomBut, Завтра
Gui, 3:Add, Text, x210 y259 gWeekRasp vWeekBut, Неделя
Gui, 3:Font, norm
Gui, 3:Show, x765 y5 w300 h300, Raspisan
return

; Опять же часть файла, но приводить его целиком не имеет смысла, по-моему

Проблема в том, что создаётся только первое окно.
Не могли бы вы мне помочь, и объяснить в чём дело, и как это исправить?

P.S. Если запускать отдельно один и второй скрипт, всё работает на ура.

2

Re: AHK: Гаджеты

Проблему решил.
Убрал returnы после выполнения основного кода в дополнительных файлах, сам основной код запихнул в лейбл и запустил лейбл из основного файла.
Если есть способы лучше - скажите, пжлста

3

Re: AHK: Гаджеты

С удовольствием, если объяснишь, что такое лейбл и как туда можно запихнуть код?

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

4 (изменено: funtaps, 2010-10-23 15:37:42)

Re: AHK: Гаджеты

ну, по сути я имел ввиду штуки, вызываемые Gosub или g-label у Контролов


Из хелпа в AHK:


Gosub

--------------------------------------------------------------------------------

Jumps to the specified label and continues execution until Return is encountered.

Gosub, Label

5

Re: AHK: Гаджеты

Ну, по-русски это будет "метка". А под лейблом обычно понимается что-то такое.

funtaps пишет:

Если есть способы лучше - скажите, пжлста

Что значит лучше? Что-то плохо работает? Лишь бы было удобно пользоваться, и ты сам бы смог понять, что к чему, если откроешь свой код через год.
Вообще, в include-файлах чаще используют функции, а не метки. Но это как кому удобно.

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

6

Re: AHK: Гаджеты

Директивой #Include код как-бы вставляется в файл вместо этой директивы. Соответственно если основной файл встречает return, то он прекращает свое выполнение.