Menu en cascade Autohotkey à 5 niveaux

0

Quelqu'un qui connaît Autohotkey pls peut-il m'aider à créer un menu en cascade à 5 niveaux (ou au moins me dire où puis-je trouver un modèle prêt à l'emploi).

Voir l'exemple de capture d'écran (diagramme):

enter image description here

Le menu devrait fonctionner comme ceci:

  • UpArrow - déplacer vers le haut (pour sélectionner)
  • Flèche vers le bas - déplacer vers le bas (pour sélectionner)
  • RightArrow - révèle le menu du niveau suivant (menu coulissant)
  • LeftArrow - revenir en arrière (à l'endroit où se trouvait le curseur)
  • Enter - exécute l'action correspondante attachée à cet objet en boîte

Chaque élément de n'importe quel niveau doit être «cliquable» ou «accessible», ce qui signifie que je peux attacher une macro à n'importe quel élément de n'importe quel niveau. Lorsque je clique sur «entrer», il exécute cette macro spécifique attachée à cet élément de menu .

Informations supplémentaires pour bien comprendre:

Ceux que nous voyons dans Word ou Excel, que lorsque vous cliquez sur FICHIER, un menu déroulant apparaîtra, sélectionnez ensuite un élément quelconque et un autre menu apparaîtra (2e niveau), choisissez un élément là-bas, puis un autre menu (troisième niveau). ), etc.

Informations supplémentaires à nouveau:

DavidPosti dit que cela s'appelle un menu en cascade. Merci.

Faye
la source
@DavidPostill: Ceux que nous voyons dans Word ou Excel, quand vous cliquez sur FICHIER, une liste déroulante apparaîtra, puis sélectionnez n'importe quel élément, et une autre sous-liste apparaîtra (2e niveau), choisissez un élément, une autre sous-liste à nouveau ( 3ème niveau, et ainsi de suite.
Faye
Donc ce n'est pas une listbox, c'est un menu en cascade?
DavidPostill
@ DavidPostill: Oui, c'est vrai (menu en cascade), mais un peu différent. Chaque menu doit pouvoir contenir une macro spécifique, ce qui signifie que je peux appuyer sur Entrée et exécuter la macro attachée à cet élément (même au premier, deuxième, troisième ou quatrième niveau, pas seulement au dernier 5ème niveau). J'ai déjà mes macros prêtes (57 macros simples). Je ne sais tout simplement pas comment faire un menu en cascade.
Faye

Réponses:

0
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
user3419297
la source
Cela a l'air génial, laissez-moi d'abord injecter toutes mes petites macros plus tard, et voir si tout va bien fonctionner. Merci.
Faye
Mon problème est, je ne sais pas comment commencer. Je ne sais pas où exactement insérer chaque macro :-( .. Je vais essayer de le comprendre plus tard.
Faye
Comme vous pouvez le constater à partir de cet exemple, l’utilisation des menus contextuels standard ne vous permet pas d’avoir un sous-menu dans lequel vous pouvez également sélectionner cet élément dans le menu de niveau supérieur. Ce sera soit un élément sélectionnable, soit un élément contextuel.
JJohnston2
De plus, vous ne pouvez pas utiliser le AutoHotkey Enter:: touche de raccourci lors de l'utilisation du menu standard non plus, car le menu contextuel détourne le fil de discussion et ne laisse rien exécuter d'autre tant qu'il n'est pas rejeté
JJohnston2
Si vous souhaitez obtenir exactement les fonctionnalités décrites dans l'article d'origine, vous pouvez éventuellement regarder une interface graphique personnalisée, la rendre transparente et utiliser plusieurs contrôles ListView exposés ou masqués. Il faudrait beaucoup de codage pour faire exactement ce que vous recherchez, il est donc préférable de commencer par les menus intégrés si vous pouvez les faire fonctionner.
JJohnston2