NO SE DESACTIVA EL MENU COMPLETAMENTE

240 views
Skip to first unread message

NAPOLEON POLO AVENDANO

unread,
Jun 14, 2015, 2:57:32 AM6/14/15
to mundovis...@googlegroups.com
Tengo un sistema que cuenta con un ejecutable (.EXE) formulario de nivel superior sin menú y varias aplicaciones (.APP)., el programa principal de estos apps es el menú, tel programa trabaja de la siguiente forma:
Se ejecuta el archivo .exe abre pantalla principal del programa, tiene varios botones de comando que llaman a cada app que se tiene, cuando se hace click en uno se desactivan todos los botones y se ejecuta el app, llamando al menú correspondiente, dicho menú tiene la opción salir del app y se desactiva el menu y se activan otra vez los botones de comando. Aquí se presento el primer problema, cuando se hace un menú que debe abrir en un formulario de nivel superior, se dice que la instrucción de correr el menu debe estar en el evento INIT de dicho formulario superior, con la instrucción "DO nombre_menu.mpr with this, .t."; pero como pueden ver yo no abro el menú cuando abro el formulario del ejecutable, y por lo siguiente me mandaba el error que ese menu solo se puede abrir en formularios de nivel superior. Soluciones esto creando un prg y lo puse como el programa principal de los app, para llamar al menú, el app tiene la siguiente instrucción: "DO nombre_menu.mpr WITH _SCREEN.ACTIVEFORM., .t.", asi pude abrir el menú, pero se presento otro problema, al escoger las diferentes opciones del menú, estas abren otros formulario, me salia el error que no encontraba la ruta de el formulario que se esta llamando. También pude solucionar esto, haciendo que en el menú no se llamara al formulario respectivo, sino que llamara a un prg y este prg tenia la instrucción de llamar el formulario, se soluciono.
El problema que me queda es que al ejecutar cualquier formulario del app, al abrirse este se debe des habilitar el menu, en un principio todo en el menú quedaba habilitado; parte de este problema pude solucionarlo colocando la propiedad "WINDOWSTYPE en 1 (MODAL) de los formularios de los app, digo que fue en parte porque me des habilita las opciones internas del menú principal, pero la barra del menú principal queda activa y si tengo una opción de la barra de menú principal que llama a un formulario, esta realiza el llamado y me sobrepone ese formulario sobre otro, o se puede llamar ese formulario mas de una vez y no no es correcto.
Espero haber sido claro en la explicación, espero que puedan dar una mano con este himpase , diciéndome como des habilito la barra principal del menú cuando escoja cualquier opción del menú.     

jach...@gmail.com

unread,
Jun 14, 2015, 7:58:52 PM6/14/15
to mundovis...@googlegroups.com
hola

Talvez esto te sirve o por lo menos te pueda guiar en algo.





En el menu yo llamo mis formularios desde un procedure. y coloco el siguiente codigo.

IF WEXIST("CXP_listafacturas") donde CXP_listafacturas es el nombre que le di al formulario que estoy llamando

MESSAGEBOX(" La Pantalla de FACTURAS DE COMPRA se está EJECUTANDO... ",64,(" ATENCION... " ))   ---- si el form ya esta abierto envia un mensaje al usuario y retorna
RETURN.F.
ELSE
    DO FORM CXP_listafacturas  /// si el form no se ha abierto llama al form y continua

ENDIF

puede que te ayude en algo.

saludos.

Víctor Hugo Espínola Domínguez

unread,
Jun 14, 2015, 8:08:18 PM6/14/15
to mundovis...@googlegroups.com
Hola Napoleón

Sugiero que prepares y nos envíes un pequeño proyecto con dos botones y que los formularios llamados solo hagan un messagebox, con los menús de unas pocas opciones, porque parece que el estilo que usas no es muy popular que digamos.

Saludos,
Víctor.
Lambaré - Paraguay.


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Rolando Ojeda

unread,
Jun 15, 2015, 2:51:32 AM6/15/15
to mundovis...@googlegroups.com

Hd cáncer dkhfjh

NAPOLEON POLO AVENDANO

unread,
Jun 15, 2015, 12:09:26 PM6/15/15
to mundovis...@googlegroups.com
Gracias, Jose voy a tener en cuenta tu sugerencia

NAPOLEON POLO AVENDANO

unread,
Jun 15, 2015, 12:23:09 PM6/15/15
to mundovis...@googlegroups.com
Ok Victor Hugo, la forma de programar es la modular, en la que puedes tener modulos (aplicaciones) independientes unas de otras, pero que utilizan la misma base de datos, tienen un formulario principal y varios apps, cada uno es independiente, se pueden modificar por separados. Ejemplo, si tienes dos modulos, inventarios y ventas  si necesitaras modificar algo en alguno de esos modulos solo corriges al modulo en cuestion, y cuando compilas solo remplazas un app por otro, esto permite que el programa solo se vea afectado en ese momento el modulo que estes corrigiendo, pero si lo tienes todo en un solo, toda la aplicacion se vera afectada. Voy a hacerte un demo de esto.      

Integral

unread,
Jun 15, 2015, 6:04:12 PM6/15/15
to mundovis...@googlegroups.com

Bueno Amigo :

Al menos muestranos algunas imagenes para tener una idea un poco mas clara del problema...

Saludos,

INTEGRAL

Zarlu

unread,
Jun 16, 2015, 12:11:21 PM6/16/15
to mundovis...@googlegroups.com
Buenos días Napoleón!
 
A ver si entendí bien......
 
En el skip de esa opción de la barra de menú pon "Empty(Wontop())=.F."
 
...y claro a ver si te funciona.
 
Esto lo uso con un menú que se ejecuta en la pantalla principal de fox  y me desactiva la opción de la barra ,
ojala funcione con tu formulario principal donde tienes el menú cuya opción deseas desactivar
 
zarlu
Chetumal, Quintana Roo, México
 
 

NAPOLEON POLO AVENDANO

unread,
Jun 16, 2015, 8:35:30 PM6/16/15
to mundovis...@googlegroups.com
Esto no funciono. 
Funciono colocando una variable logica publica en el skip for de la barra principal del menu, al llamar el menu la coloco .F. y en al llamar cualquier opcion hago esta variable .T., en el boton salir del formulario hago .F. y asi cualquier opcion me desactiva la barra principal, y al salir del formulario que llama la opcion se vuelve a activar.       
Reply all
Reply to author
Forward
0 new messages