1

Тема: AHK: Динамическое меню

Здравствуйте!
Подскажите пожалуйста можно ли на AHK создать «динамическое меню» из текстового файла, т.е. с помощью «menu, MenuName, add,…» добавить пункты из текстового файла: одна строка – один пункт меню, чтобы выбирая необходимый пункт меню получать текст строки в переменную?

2

Re: AHK: Динамическое меню

YMP пишет:
Loop (чтение файла)

Возвращает строки текстового файла, по одной строке (работает быстрее, чем FileReadLine).
Loop, Read, InputFile [, OutputFile]

YMP пишет:
Menu

Создаёт, удаляет, модифицирует и показывает меню. Изменяет значок скрипта в области уведомлений (трее) и всплывающую подсказку этого значка. Для компилированных скриптов определяет, может ли быть открыто главное окно скрипта.
Menu, MenuName, Cmd [, P3, P4, P5]

3

Re: AHK: Динамическое меню

Ну хорошо, спасибо за подсказку, строки из файла я получил и в меню их вставил. получился примерно такой код:


Loop, Read, menu.txt
{
Menu, MyMenu, Add, %A_LoopReadLine%, insert
}

#F4::Menu, MyMenu, Show

insert:
msgbox, а как получить выбранную строку?
return

Но пока не смог придумать как выбранную строку получить в переменную. Не направите меня дальше?

4

Re: AHK: Динамическое меню

У Вас все пункты меню запускают подпрограмму insert. Зачем?

5

Re: AHK: Динамическое меню

Подпрограмма Insert должна будет получить в переменную ту строку из файла которую я выбрал в меню.

Если это путь неправильный, то подскажите как надо.

Количество строк в текстовом файле у меня не определено, может быть от 1 до 30.
Вот я и спрашиваю, как сделать динамическое меню??

6

Re: AHK: Динамическое меню

В AutoHotkey имеются встроенные переменные практически на любой случай. См. в конце перевода статьи "Переменные и выражения".

Loop, Read, menu.txt
{
Menu, MyMenu, Add, %A_LoopReadLine%, insert
}

#F4::Menu, MyMenu, Show

insert:
msgbox, %A_ThisMenu% `n %A_ThisMenuItem% `n %A_ThisMenuItemPos% 
return

7

Re: AHK: Динамическое меню

Большое спасибо.