|
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 menús 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
básicas, la primera haciéndolo por
el generador y la segunda mediante código,
siendo mucho mas fácil mediante el generador.
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

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 señalar una
letra para seleccionar la opción, así
por ejemplo \<Salir se vería Salir,
si el usuario presiona la “S” (ALT+S
según la ubicación) se ejecutara
la opción,
Nota:
Utilice \< para resaltar una tecla y
\- Para ingresar un linea de división
|
Acción: Indica
la acción que se realizara al seleccionarlo,
estas son :
- 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ú
Opciones: Permite
personalizar la opción del menú,
las mas usadas son:
- 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

Una vez se termine de ingresar todas las opciones
que se necesitan se procede a generar el menú.
Para generar el menú selecciona la opción
“Menú” -> “Generar”

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
"\<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 instrucción DO asi:
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.
Agregar un Menú a un formulario
1. Definimos el menú, según 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 método INIT
del formulario así:
| DO
"pruebas\menú1.mpr"
WITH THISFORM,.T. |
En donde “pruebas\menú1.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:

José
Guillermo Ortiz Hernández
Programador Visual FoxPro, WEB Developer
|