Share via


ACTIVATE POPUP (Comando)

Muestra y activa un menú.

ACTIVATE POPUP MenuName   [AT nRow, nColumn]   
[BAR nMenuItemNumber]   [NOWAIT]   [REST]

Parámetros

  • MenuName
    Especifica el nombre del menú que se desea activar.

  • AT nRow, nColumn
    Especifica la posición del menú en la pantalla o en una ventana definida por el usuario. La coordenada de fila y columna se aplica a la esquina superior izquierda del menú. La posición especificada con este argumento tiene prioridad sobre la posición especificada con el argumento FROM en DEFINE POPUP.

  • BAR nMenuItemNumber
    Especifica el elemento del menú que se selecciona cuando se activa el menú. Por ejemplo, si nMenuItemNumber es 2, se seleccionará el segundo elemento. El primer elemento se selecciona si se omite BAR nMenuItemNumber o si nMenuItemNumber es mayor que el número de elementos del menú.

  • NOWAIT
    Especifica que en tiempo de ejecución un programa no tiene que esperar a que el usuario elija un elemento del menú para que continúe la ejecución del programa. En cambio, el programa continúa ejecutándose.

  • REST
    Un menú creado con la cláusula PROMPT FIELD de DEFINE POPUP sitúa registros de un campo en el menú. Cuando se activa el menú, el primer elemento se selecciona inicialmente, aunque el puntero de registro de la tabla que contiene el campo esté situado sobre un registro distinto del primero.

    Incluya REST para especificar que el elemento seleccionado al activarse el menú corresponde a la posición actual del puntero de registro en la tabla.

Observaciones

ACTIVATE POPUP funciona en combinación con DEFINE POPUP (utilizado para crear el menú) y DEFINE BAR (utilizado para crear los elementos del menú).

Ejemplo

Este ejemplo utiliza ACTIVATE POPUP con ON PAD para activar un menú cuando se elige un título de menú. En primer lugar, se guarda en memoria la barra de menús actual del sistema con SET SYSMENU SAVE y, a continuación, se eliminan todos los títulos de menús del sistema mediante SET SYSMENU TO.

Se crean dos nuevos títulos de menú del sistema con DEFINE PAD y se emplea DEFINE POPUP con el fin de crear un menú para cada uno de estos títulos. DEFINE BAR se usa para crear elementos de menú en cada uno de estos menús. Cuando se elige un título de menú, ON PAD utiliza ACTIVATE POPUP para activar el menú correspondiente.

Cuando se elige un elemento de un menú, se ejecuta el procedimiento CHOICE. CHOICE muestra el nombre del elemento elegido y el nombre del menú donde está incluido. Si se elige el elemento Salir del menú Info tarjeta, se restaura el menú de sistema original de Visual FoxPro.

** Name this program ACTIPOP.PRG ** CLEAR SET SYSMENU SAVE SET SYSMENU TO DEFINE PAD convpad OF _MSYSMENU PROMPT '<Conversions' COLOR SCHEME 3 ; KEY ALT+C, '' DEFINE PAD cardpad OF _MSYSMENU PROMPT 'Card <Info' COLOR SCHEME 3 ; KEY ALT+I, '' ON PAD convpad OF _MSYSMENU ACTIVATE POPUP conversion ON PAD cardpad OF _MSYSMENU ACTIVATE POPUP cardinfo DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4 DEFINE BAR 1 OF conversion PROMPT 'Ar<ea' KEY CTRL+E, '^E' DEFINE BAR 2 OF conversion PROMPT '<Length' ; KEY CTRL+L, '^L' DEFINE BAR 3 OF conversion PROMPT 'Ma<ss' ; KEY CTRL+S, '^S' DEFINE BAR 4 OF conversion PROMPT 'Spee<d' ; KEY CTRL+D, '^D' DEFINE BAR 5 OF conversion PROMPT '<Temperature' ; KEY CTRL+T, '^T' DEFINE BAR 6 OF conversion PROMPT 'T<ime' ; KEY CTRL+I, '^I' DEFINE BAR 7 OF conversion PROMPT 'Volu<me' ; KEY CTRL+M, '^M' ON SELECTION POPUP conversion; DO choice IN actipop WITH PROMPT(), POPUP() DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4 DEFINE BAR 1 OF cardinfo PROMPT '<View Charges' ; KEY ALT+V, '' DEFINE BAR 2 OF cardinfo PROMPT 'View <Payments' ; KEY ALT+P, '' DEFINE BAR 3 OF cardinfo PROMPT 'Vie<w Users' ; KEY ALT+W, '' DEFINE BAR 4 OF cardinfo PROMPT '-' DEFINE BAR 5 OF cardinfo PROMPT '<Charges' ; KEY ALT+C, '' DEFINE BAR 6 OF cardinfo PROMPT '-' DEFINE BAR 7 OF cardinfo PROMPT 'E<xit'; KEY ALT+X, '' ON SELECTION POPUP cardinfo; DO choice IN actipop WITH PROMPT(),POPUP()

PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ;
   ' from popup ' + mpopup NOWAIT
IF mprompt = 'Exit'
   SET SYSMENU TO DEFAULT
ENDIF

Vea también

CLEAR (Comandos) | CREATE MENU | DEACTIVATE POPUP | DEFINE BAR | DEFINE POPUP | HIDE POPUP | MOVE POPUP | ON SELECTION POPUP | POP POPUP | POPUP( ) | PROMPT( ) | PUSH POPUP | SHOW POPUP