Propiedades del Menú

Cuando diseñes una barra de menús mediante el Editor de Menús, puedes ajustar las diferentes propiedades de los `MenuItem` a través del Panel Inspector asociado con cada elemento. De hecho, sólo es posible asignar algunas de las propiedades mediante el Panel Inspector, tales como el uso de la tecla alternativa, la tecla modificadora o la tecla Control en combinación con la tecla de acceso asociada al atajo de teclado. Adicionalmente, sólo es posible asignar la tecla aceleradora (Windows y Linux) mediante el Panel Inspector y no desde código. En concreto, estas son las propiedades que se mantienen como sólo de lectura cuando se accede a ellas desde código:

  • AlternateMenuModifier. Valor Booleano que representa el uso de la tecla Shift o Mayúsculas móviles en todas las plataformas soportadas.
  • MacControlKey. Valor Booleano que representa el uso de la tecla Control (Ctrl) en macOS.
  • MacOptionKey. Valor Booleano que representa el uso de la tecla Opcion (Alt) en macOS.
  • PCAltKey. Valor Booleano que representa el uso de la tecla Alt en los teclados de Windows y Linux.
  • MenuModifier. Valor Booleano que representa el uso de la tecla Comando (Cmd) en macOS, y Control (Ctrl) en Windows y Linux.

Si bien dichas propiedades se mantienen como sólo de lectura, aun puedes utilizar las teclas especiales que representan en la combinación de acceso a un comando, utilizando los siguientes valores en combinación con un guión medio y la tecla de comando en cuestión. No importa en qué orden se indiquen:

  • Cmd. Tecla Comando en macOS.
  • Alt. Tecla Opción en macOS y Alt en Windows y Linux.
  • Shift. Mayúsculas móviles en Windows, macOS y Linux.
  • Ctrl. Tecla Control en todos los sistemas soportados.

Por ejemplo:

MyMenuItem.KeyboardShortcut = "cmd-shift-ctrl-alt-U"

Producirá el mismo resultado visualmente que si se define como:

MyMenuItem.KeyboardShortcut = "ctrl-shift-cmd-alt-U"

Otras propiedades interesantes del Panel Inspector (y cuando creas elementos de menú por código) son las siguientes, si bien por lo general probablemente desees emplear sus valores por omisión:

  • Visible. Disponible bajo la sección Appearance del Editor de Menús para todos los elementos de menú. Cuando está ajustado a On o con el valor True si es desde código, el elemento de menú será visible en la barra de menús.
  • AutoEnable. Dispomnible bajo la sección Behavior para todos los elementos de menú excepto los de primer nivel. Por omisión su valor es de On en el Editor de Menús y de True para los nuevos elementos creados de forma dinámica mediante código. Esto permite que el elemento de menú siempre aparezca como disponible en el menú, siempre y cuando tenga asociado un Manejador de Menú. Si utilizamos el valor Off en el Editor de Menús, o False en la creación de un nuevo elemento de menú desde código, entonces deberemos de implementar el Manejador de Evento EnableMenuItems en la ventana asociada con la barra de menús o bien en el objeto App, e indicar aquí si deseamos activar (que parezca activo) o no el elemento de menú en cuestión. La aplicación ejecutará este evento cada vez que el usuario haga clic sobre la barra de menús o bien cuando el usuario a utilizado cualquiera de los atajos de teclado asociados a los elementos de menú. Por ejemplo, podemos desear que ciertos elementos de menú estén activos solo en función de ciertas condiciones, como que el usuario haya seleccionado previamente un elemento determinado en la interfaz de usuario. Un caso típico serían las opciones de Copiar, Cortar y Pegar texto.

Leave a Reply

Your email address will not be published. Required fields are marked *