Definir un menú en Visual FoxPro
Visual Fox Pro 12:25
1. Definir un menú
1.1 Menú
1.2 Menú Contextual
2. Agregar un menú a un formulario
3. Descargar Ejemplo de un menú contextual
4. Descargar ejemplo de un menú en un formulario de nivel superior
1.1 Menú
1.2 Menú Contextual
2. Agregar un menú a un formulario
3. Descargar Ejemplo de un menú contextual
4. Descargar ejemplo de un menú en un formulario de nivel superior
Menú: Hace referencia al menú que se muestra en una barra, esta puede estar ubicada en la ventana principal o en un formulario de nivel superior
Menú Contextual: Es una lista de opciones que no se encuentra contenida en una barra, puede aparecer en cualquier lugar de la pantalla
Para crea un menú mediante el generador seleccione la pestaña “Otro” del Administrador de proyectos, luego seleccione “Menús” y pulse el botón “Nuevo”, en la ventana que aparece seleccione el menú el tipo de menú que desea crear


Nota: Utilice \< para resaltar una tecla y \- Para ingresar un linea de división |
- Comando: Ejecuta un comando Ej: WAIT WINDOW ‘PRUEBA’
- Titúlo de menú: Hace el llamado a un menú propio de Fox Ej. _MSM_FILE
- Submenú: Su nombre lo dice
- Procedimiento: Permite almacenar un procedimiento en la definición del menú
- Etiqueta de la tecla: indica que combinación de teclas activa la opción, si por ejemplo presionas la tecla CTRL+S indica que se activara cuando el usuario presione estas teclas al tiempo.
- Saltar por: Indica la condición por la cual la opción no se activara, así por ejemplo WEXIST("MiForm") indica que la opción no estará disponible si se encuentra activa la ventana de nombre MiForm
- Mensaje: Se muestra en la barra de estado cuando el usuario se encuentra sobre la opción
- Imagen: Puede ser una imagen (bmp 16x16 pix) o puede ser la imagen de un recurso, por ejemplo _mfi_open


El menu se genera a la ruta especificada, en este caso a "C:\munú2.mpr", el archivo contiene el siguiente código:
SET SYSMENU TO SET SYSMENU AUTOMATIC DEFINE PAD _1rk0o3ce5 OF _MSYSMENU PROMPT "\ KEY ALT+O, "" DEFINE PAD _1rk0o3ce6 OF _MSYSMENU PROMPT "\ KEY ALT+M, "" ON SELECTION PAD _1rk0o3ce5 OF _MSYSMENU WAIT WINDOW "Prueba" ON SELECTION PAD _1rk0o3ce6 OF _MSYSMENU SET SYSMENU TO DEFA |
Para ejecutar el menú utilice la instrucción DO asi:
DO "c:\menú2.mpr" |
Para hacer referencia a un menú nativ de fox utilice en "Accion" la opcion "Nº de Barra" asi:


El ejemplo anterior muestra como hace el llamado a las opciones del menú edición. "Para descargar el ejemplo pulse aqui" , lo primero que se hizo fue definir un menu ontextual con las respectivas opciones, luego en un formulario de inserto un EditBox, en el metodo MouseDow se agrego el siguiente codigo:

El código anterior ejecuta el menú "CEDICION.MPR" cuando el usuario presione le boton derecho del mause.


3. Generamos el menú
4. Creamos un formulario y lo definimos como un formulario de nivel superior (Single Document Interface), para eso modificamos la propiedad “ShowWindow” en 2 (Como formulario de nivel superior).

5. Hacemos el llamado al menú que hemos definido desde el método INIT del formulario así:
DO "pruebas\menú1.mpr" WITH THISFORM,.T. |

Listo!!!,
Ya agregamos un menú a un formulario de nivel superior, lo cual nos abre un mundo de posibilidades. Como resultado tendremos un formulario asi:
