Definir un men en Visual FoxPro
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
Definir un men
Un men es una lista de opciones que se mostraran en pantalla de las cuales el usuario puede
seleccionar una a su antojo, en fox existen dos tipos de mens asi:
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 definir un men existen dos formas bsicas, la primera hacindolo por el generador y la segunda
mediante cdigo, siendo mucho mas fcil mediante el generador.
Para crea un men mediante el generador seleccione la pestaa Otro del Administrador de proyectos,
luego seleccione Mens y pulse el botn Nuevo, en la ventana que aparece seleccione el men el tipo
de men que desea crear
Una vez seleccionado el tipo de men, aparecera en pantalla una ventana que contiene los siguientes
campos:
Indicador: Hace referencia al nombre del men, se puede usar \< para sealar una letra para seleccionar
la opcin, as por ejemplo \<Salir se vera Salir, si el usuario presiona la S (ALT+S segn la ubicacin) se
ejecutara la opcin,
Nota: Utilice \< para resaltar una tecla y \- Para ingresar un linea de divisin
Accin: Indica la accin que se realizara al seleccionarlo, estas son :
Comando: Ejecuta un comando Ej: WAIT WINDOW PRUEBA
Titlo 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 definicin del men
Opciones: Permite personalizar la opcin del men, las mas usadas son:
Etiqueta de la tecla: indica que combinacin de teclas activa la opcin, si por ejemplo presionas
la tecla CTRL+S indica que se activara cuando el usuario presione estas teclas al tiempo.
Saltar por: Indica la condicin por la cual la opcin no se activara, as por ejemplo
WEXIST("MiForm") indica que la opcin 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 opcin
Imagen: Puede ser una imagen (bmp 16x16 pix) o puede ser la imagen de un recurso, por
ejemplo _mfi_open
Una vez se termine de ingresar todas las opciones que se necesitan se procede a generar el men. Para
generar el men selecciona la opcin Men -> Generar
El menu se genera a la ruta especificada, en este caso a "C:\mun2.mpr", el archivo contiene el siguiente
cdigo:
SET SYSMENU TO
SET SYSMENU AUTOMATIC
DEFINE PAD _1rk0o3ce5 OF _MSYSMENU PROMPT "\<Opciones" COLOR SCHEME 3 ;
KEY ALT+O, ""
DEFINE PAD _1rk0o3ce6 OF _MSYSMENU PROMPT "\<Men Fox" COLOR SCHEME 3 ;
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 instruccin DO asi:
DO "c:\men2.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 edicin. "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 cdigo anterior ejecuta el men "CEDICION.MPR" cuando el usuario presione le boton derecho del
mause.
Agregar un Men a un formulario
1. Definimos el men, segn lo necesitemos:
2. Ahora debemos especificar que el men se mostrara en un formulario de nivel superior, para tal efecto
entramos en Ver -> Opciones generales en el men principal de Fox
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 mtodo INIT del formulario as:
DO "pruebas\men1.mpr"
WITH THISFORM,.T.
En donde pruebas\men1.mpr es la ruta del men ya generado
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: