FoxPro/Visual FoxPro - Menu Ventanas

 
Vista:

Menu Ventanas

Publicado por carlos l  (40 intervenciones) el 02/03/2011 20:53:35
Hola a todos, tengo una aplicacion en visual foxpro 9.0 y quiero que cuando se abran varios
formularios en el menu ventana me muestre los formularios abiertos e ir activando el que desee estilo excel, etc.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Menu Ventanas

Publicado por Gabriel Sánchez (112 intervenciones) el 06/03/2011 22:49:21
Hola Carlos.

Si es posible hacerlo. Para ello debes seguir con los siguentes pasos.

* Este es un ejemplo práctico. Creamos un menu con la siguiente estructura.

Nombre: menu_prueba.mnx

*--------------------------------------------------------
Archivo
Abrir (comand)
Cerrar (command)
Procesos
Apertura (comand)
Ventana
Lista de ventanas activas (sub menu)


*----------------------------------------------------------------

* Guardas y generas el menu_prueba.mpr

* Luego abres el menu en modo prg.

modi command menu_prueba.mpr

*--------------------------------TEDRAS ALGO COMO ESTO
SET SYSMENU TO
SET SYSMENU AUTOMATIC

DEFINE PAD _35y0y27vp OF _MSYSMENU PROMPT "Archivo" COLOR SCHEME 3 ;
KEY ALT+A, ""
DEFINE PAD _35y0y27vq OF _MSYSMENU PROMPT "Procesos" COLOR SCHEME 3 ;
KEY ALT+P, ""
DEFINE PAD _35y0y27vr OF _MSYSMENU PROMPT "Ventana" COLOR SCHEME 3 ;
KEY ALT+V, ""
ON PAD _35y0y27vp OF _MSYSMENU ACTIVATE POPUP archivo
ON PAD _35y0y27vq OF _MSYSMENU ACTIVATE POPUP procesos
ON PAD _35y0y27vr OF _MSYSMENU ACTIVATE POPUP ventana

DEFINE POPUP archivo MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF archivo PROMPT "Abrir"
DEFINE BAR 2 OF archivo PROMPT "Cerrar"

DEFINE POPUP procesos MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF procesos PROMPT "Apertura"

DEFINE POPUP ventana MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF ventana PROMPT "Lista de ventanas activas"
*-----------------------------------------------------------------------------------------------------------------

* Guardas este codigo completo como crea_menu.prg
* Luego pasamos a realizar algunas modificaciones(Solo en la opcion Ventanas y su sub menú)

- En el código anterior: El texto "ventana" lo cambiamos por "_mwindow "
ON PAD _35y0y27vr OF _MSYSMENU ACTIVATE POPUP ventana

* Quedaría así!
ON PAD _35y0y27vr OF _MSYSMENU ACTIVATE POPUP _mwindow

Luego, todas las referencias hacia "ventana" la cambiamos también por "_mwindow ".

* Guardamos el prg y listo!!!!!!

* En tu programa, cambias el:

DO menu_prueba.mpr

* Por
DO crea_menu


**********************************
** El prg debería quedar así:
*********************************

SET SYSMENU TO
SET SYSMENU AUTOMATIC

DEFINE PAD _35y0y27vp OF _MSYSMENU PROMPT "Archivo" COLOR SCHEME 3 ;
KEY ALT+A, ""
DEFINE PAD _35y0y27vq OF _MSYSMENU PROMPT "Procesos" COLOR SCHEME 3 ;
KEY ALT+P, ""
DEFINE PAD _35y0y27vr OF _MSYSMENU PROMPT "Ventana" COLOR SCHEME 3 ;
KEY ALT+V, ""
ON PAD _35y0y27vp OF _MSYSMENU ACTIVATE POPUP archivo
ON PAD _35y0y27vq OF _MSYSMENU ACTIVATE POPUP procesos
ON PAD _35y0y27vr OF _MSYSMENU ACTIVATE POPUP _mwindow && Aquí se cambió ventana por _mwindow

DEFINE POPUP archivo MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF archivo PROMPT "Abrir"
DEFINE BAR 2 OF archivo PROMPT "Cerrar"

DEFINE POPUP procesos MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF procesos PROMPT "Apertura"

&& Aquí se cambió ventana por _mwindow
DEFINE POPUP _mwindow MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF _mwindow PROMPT "Lista de ventanas activas"


**********************************



Suerte amigo.

Si tienes dudas me escribes a: [email protected]. Estamos para ayudarnos.

Nota. Cada que modifiques el menú y despues de generarlo, deberás hacer el mismo procedimiento.


Saludos desde Lima Perú.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Menu Ventanas

Publicado por Saul  (1 intervención) el 03/03/2011 17:26:30
Te puedes explicar mejor ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Menu Ventanas

Publicado por Juan Manuel Cruz (512 intervenciones) el 03/03/2011 17:38:33
Podrías hacer uso de la variable de sistema

_VFP

Es un objeto que describe tu aplicación VFP.

Una de sus propiedades es FORMS que es una colección de todos los formularios. Sería cosa de contarlos, y obtener el nombre de cada uno de ellos y su caption para armar un pad del menú que se llame... bueno, sí, VENTANA.

Aunque creo que mejor sería que cada FORM se agregue a sí mismo en el menú en su evento LOAD, y se elimine del menú en el UNLOAD.

Si trabajas con clases y objetos, lo normal es que ya tengas una clase FORM personalizada para tu aplicación, así que en la clase puede ir el código, para ir optimizando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar