ON SELECTION MENU (Comando)

Especifica un comando que se ejecuta al elegir un título de una barra de menús.

ON SELECTION MENU MenuBarName | ALL [Command]

Parámetros

  • MenuBarName
    Especifica el nombre de la barra de menús a la que asigna un comando. El comando se ejecuta al elegir cualquier título de menú perteneciente a esa barra. Puede especificar el nombre de una barra de menús definida por el usuario, creada con DEFINE MENU, o la barra de menús del sistema de Microsoft Visual FoxPro _MSYSMENU.
  • ALL
    Ejecuta un comando al elegir cualquier título de menú de cualquier barra de menús.
  • Command
    Especifica el comando que se ejecuta cuando se elija un título de menú. Utilice ON SELECTION MENU sin un comando para liberar un comando asignado a la barra de menús.

Observaciones

Al crear y activar una barra de menús, coloque ON SELECTION MENU entre DEFINE MENU y ACTIVATE MENU.

Utilice ON SELECTION PAD para ejecutar un comando cuando elija un elemento de menú concreto. ON SELECTION PAD tiene prioridad sobre ON SELECTION MENU. Utilice ON PAD para activar un menú o una barra de menús cuando elija un título de menú concreto.

Utilice ON SELECTION MENU sin un comando para liberar un comando asignado a la barra de menús.

Ejemplo

ON SELECTION MENU se utiliza en este ejemplo de programa para ejecutar un procedimiento cuando se elige un título de menú de la barra de menús del sistema de Visual FoxPro.

La barra de menús del sistema actual se guarda en la memoria con SET SYSMENU SAVE y todos los títulos de menú del sistema se eliminan con SET SYSMENU TO.

DEFINE PAD crea varios títulos de menú del sistema. Al elegir un título de menú, se ejecuta el procedimiento choice asignado a la barra de menús con ON SELECTION MENU. El procedimiento choice muestra el nombre del título de menú elegido y el nombre de la barra de menús. Si elige el título de menú Salir, se recupera el menú de sistema original de Visual FoxPro.

** Name this program ONMENU.PRG ** CLEAR SET SYSMENU SAVE SET SYSMENU TO DEFINE PAD padSys OF _MSYSMENU PROMPT '<System' COLOR SCHEME 3 ; KEY ALT+S, '' DEFINE PAD padEdit OF _MSYSMENU PROMPT '<Edit' COLOR SCHEME 3 ; KEY ALT+E, '' DEFINE PAD padRecord OF _MSYSMENU PROMPT '<Record' COLOR SCHEME 3 ; KEY ALT+R, '' DEFINE PAD padWindow OF _MSYSMENU PROMPT '<Window' COLOR SCHEME 3 ; KEY ALT+W, '' DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re<ports' COLOR SCHEME 3 KEY ALT+P, '' DEFINE PAD padExit OF _MSYSMENU PROMPT 'E<xit' COLOR SCHEME 3 ; KEY ALT+X, '' ON SELECTION MENU _MSYSMENU ; DO choice IN onmenu WITH PAD( ), MENU( ) PROCEDURE choice PARAMETER gcPad, gcMenu WAIT WINDOW 'You chose ' + gcPad + ; ' from menu ' + gcMenu NOWAIT IF gcPad = 'PADEXIT' SET SYSMENU TO DEFAULT ENDIF

Vea también

ACTIVATE MENU | DEFINE MENU | ON PAD | ON SELECTION PAD