Logo Desarrollo


Creación de menús:

La creación de menús en un script nos ayudan a a simplificar el uso del mismo permitiéndonos incorporar varias acciones que de otra forma, tendrían que ser ejecutadas a través de una importante cantidad de atajos de teclado.
En esta entrada solo voy a explicar la creación de un menú simple, sin opciones anidadas, para que sea lo menos confuso posible. ¡Comencemos!


Ítems del menú:

Al igual que con las gui, la lista de opciones deben estar escritas en la zona automática del script, es decir que no haya ningún atajo o return antes de ellos. Lo primero que haremos será añadir los ítems que contendrá, y en cada uno tendremos que incorporar 4 parámetros que son:


En el nombre, podemos elegir cualquiera. Como subcomando utilizaremos add, ya que añadiremos un ítem al menú. En el parámetro del nombre del ítem, deberíamos colocar un nombre que identifique la acción que va a realizar, ya que será el nombre que va a aparecer en la visualización del mismo. Y por último, una etiqueta, o atajo de teclado que llamará a una acción determinada. Vamos con un ejemplo para que sea mas comprensible la explicación.

Menu, MenuName, Add, Abrir el block de notas, Notepad
Menu, MenuName, Add, Reproducir un sonido de Windows, Sound
Menu, MenuName, Add, Hacer click, Click


Menu, MenuName, Show
Return

La penúltima línea, al igual que en las gui, contiene el parámetro Show con el cual realizaremos la visualización del menú. También podríamos añadirle un atajo, para poder desplegarlo las veces que sea necesario, por ejemplo:

^m::
Menu, MenuName, Show
Return


Hasta aquí tendríamos el menú correctamente creado. Sin embargo si intentáramos ejecutarlo lanzaría un error ya que aún no existen las etiquetas colocadas como último parámetro del comando.
Otra vez, al igual que con las gui, debemos programar en alguna parte del script las etiquetas y sus acciones correspondientes.


Ejemplo Completo:

Menu, MenuName, Add, Abrir el block de notas, Notepad
Menu, MenuName, Add, Reproducir un sonido de Windows, Sound
Menu, MenuName, Add, Hacer click, Click
return


^m::
Menu, MenuName, Show
Return


Notepad:
Run Notepad
Return


Sound:
SoundPlay C:\Windows\Media\Ring10.wav
Return


Click:
Click, Left, 1615, 20
return


En este script, al pulsar control m se va a desplegar un menú contextual que contendrá 3 ítems. Al pulsar sobre alguno de ellos se realizará la acción programada. Lógicamente la opción click no va a realizar algo concreto, simplemente hará un click inofensivo en lo que cada uno tenga en esas coordenadas de la pantalla. Lo he colocado a modo de ejemplo.
Para mas información sobre la creación de menús anidados y otras funcionalidades, pueden visitar la publicación oficial sobre Menús en AHK
Descargar el código fuente