Autohotkey 5-уровневое каскадное меню

447
Faye

Может кто-нибудь, кто знает Autohotkey pls, помочь мне создать 5-уровневое каскадное меню (или, по крайней мере, сказать мне, где я могу найти готовый шаблон).

Смотрите пример скриншота (диаграмма):

Autohotkey 5-уровневое каскадное меню

Меню должно работать так:

  • UpArrow - двигаться вверх (чтобы выбрать)
  • Стрелка вниз - двигаться вниз (чтобы выбрать)
  • RightArrow - открыть меню следующего уровня (скользящее меню)
  • LeftArrow - вернуться назад (туда, где был курсор)
  • Enter - выполнить соответствующее действие, прикрепленное к этому элементу в штучной упаковке

Каждый элемент на любом уровне должен быть «кликабельным» или «вводимым», то есть я мог прикрепить макрос к любому элементу на любом уровне, чтобы при нажатии «enter» он выполнял конкретный макрос, присоединенный к этому конкретному пункту меню. ,

Дополнительная информация, чтобы прояснить это:

Те, которые мы видим в Word или Excel, когда вы нажимаете FILE, появляется выпадающее меню, затем выбираете любой элемент там, и появляется другое меню (2-й уровень), выбираете элемент там, другое меню снова (3-й уровень) ), и так далее.

Дополнительная информация снова:

DavidPosti говорит, что это называется каскадное меню. Благодарю.

0
@DavidPostill: те, которые мы видим в Word или Excel, когда вы нажимаете FILE, появляется выпадающий список, затем выбираете любой элемент там, и появляется другой подсписок (2-й уровень), выберите элемент там, еще один подсписок снова ( 3-й уровень и тд. Faye 6 лет назад 0
Значит, это не список, а каскадное меню? DavidPostill 6 лет назад 0
@DavidPostill: Да, верно (каскадное меню), но немного по-другому. Каждое меню должно содержать определенный макрос, то есть я могу нажать Enter, и он выполнит макрос, связанный с этим элементом (даже на первом, втором, третьем или четвертом уровне, а не только на последнем 5-м уровне). У меня уже есть готовые макросы (57 простых макросов). Я просто не знаю, как сделать каскадное меню. Faye 6 лет назад 0

1 ответ на вопрос

0
user3419297
F1:: Menu, Main, Add Menu, Main, deleteAll  Menu, Main, Add, Item 1, Item1  Menu, Item1, Add, Item1 Item1, Item1_Item1 Menu, Main, Add, Item1, :Item1  Menu, Item1_Item1, Add, Item1_Item1 Item1, Item1_Item1_Item1 Menu, Item1, Add, Item1_Item1, :Item1_Item1  Menu, Item1_Item1_Item1, Add, Item1_Item1_Item1 Item1, Item1_Item1_Item1_Item1 Menu, Item1_Item1, Add, Item1_Item1_Item1, :Item1_Item1_Item1   Menu, Item1_Item1_Item1_Item1, Add, Item1_Item1_Item1_Item1 Item1, Item1_Item1_Item1_Item1_Item1 Menu, Item1_Item1_Item1, Add, Item1_Item1_Item1_Item1, :Item1_Item1_Item1_Item1    Menu, Main, Add, Item 2, Item2  Menu, Item2, Add, Item2 Item1, Item2_Item1 Menu, Main, Add, Item2, :Item2  Menu, Item2_Item1, Add, Item2_Item1 Item1, Item2_Item1_Item1 Menu, Item2, Add, Item2_Item1, :Item2_Item1  Menu, Item2_Item1_Item1, Add, Item2_Item1_Item1 Item2, Item2_Item1_Item1_Item1 Menu, Item2_Item1, Add, Item2_Item1_Item1, :Item2_Item1_Item1   Menu, Item2_Item1_Item1_Item1, Add, Item2_Item1_Item1_Item1 Item2, Item2_Item1_Item1_Item1_Item1 Menu, Item2_Item1_Item1, Add, Item2_Item1_Item1_Item1, :Item2_Item1_Item1_Item1    Menu, Main, Show return  Item1: Item1_Item1: Item1_Item1_Item1: Item1_Item1_Item1_Item1: Item1_Item1_Item1_Item1_Item1:  Item2: Item2_Item1: Item2_Item1_Item1: Item2_Item1_Item1_Item1: Item2_Item1_Item1_Item1_Item1:  MsgBox You selected`n`t"%A_ThisMenuItem%"`nfrom the menu`n`t"%A_ThisMenu%". return 
Это выглядит великолепно. Позвольте мне сначала внедрить все мои маленькие макросы и посмотреть, все ли будет хорошо. Благодарю. Faye 6 лет назад 0
Моя проблема в том, что я не знаю с чего начать. Я не знаю, куда именно вставить каждый макрос :-( .. Попробую разобраться позже. Faye 6 лет назад 0
Как вы можете видеть из этого примера, использование стандартных всплывающих меню не позволяет вам иметь подменю, где вы также можете выбрать этот элемент в меню верхнего уровня, это будет либо выбираемый элемент, либо это будет всплывающий элемент JJohnston2 6 лет назад 0
Кроме того, вы не можете использовать AutoHotkey `Enter ::` горячая клавиша при использовании стандартного меню либо, потому что всплывающее меню захватывает поток и не позволяет чему-либо еще выполняться, пока оно не будет закрыто JJohnston2 6 лет назад 0
Если вы хотите получить именно ту функциональность, которая описана в исходном посте, вы можете взглянуть на пользовательский графический интерфейс, сделать его прозрачным и использовать несколько элементов управления ListView, которые открыты или скрыты. Чтобы сделать именно то, что вам нужно, потребуется много кода, поэтому лучше начать со встроенных меню, если вы сможете заставить их работать JJohnston2 6 лет назад 0

Похожие вопросы