Hacer mi propio menú tradicional

1,670 views
Skip to first unread message

Ultraton500

unread,
Apr 19, 2017, 4:46:50 PM4/19/17
to Comunidad de Visual Foxpro en Español
Buenas tardes a todos.

Hace mucho tiempo que me quedo con las ganas de cambiar los colores de fondo y fuente a la barra y a los submenúes del menú clásico de vfp y de ocultar los subítems a los que el usuario actual no tiene permiso.

Un menú así podría hacerse utilizando containers, shapes, labels e images pero no sé si es posible mantener un control container "allways on top" (siempre por encima de todos los forms que se abran).
Si alguien sabe cómo se puede hacer o tiene alguna idea le agradeceré mucho.

Saludos cordiales,
Javier.


Ultraton500

unread,
Apr 19, 2017, 7:42:35 PM4/19/17
to Comunidad de Visual Foxpro en Español
Se me ocurrió colocar el menú dentro de un form (sin bordes ni barra de título) que se mantenga siempre por encima de todo, así que le establecí la propiedad AlwaysOnTop=.T. para que esté por encima de todo, pero si el form del menú no es modal el resto de los forms se coloca por encima de este... y si seteo el form del menú como modal no puede abrirse ningún otro form hasta que este se cierre.

...Me parece que viene complicada la mano para poder hacer esto.

Saludos,
Javier.

Edwin Duran

unread,
Apr 20, 2017, 7:51:56 AM4/20/17
to Comunidad de Visual Foxpro en Español
lo que busca ya esta, mira este link https://www.youtube.com/watch?v=DflfLSRVVaY&t=144s

Ultraton500

unread,
Apr 20, 2017, 7:18:20 PM4/20/17
to Comunidad de Visual Foxpro en Español
Qué tal Edwin.. Gracias por tu respuesta.
Buscando en este foro sobre el Menu Creator veo que quien lo hizo es ZeRoberto. Le acabo de enviar un correo preguntándole si aún lo vende y si permite el cambio de colores en la barra principal. Veré entonces qué me dice.

Saludos cordiales,
Javier.

Ultraton500

unread,
Apr 20, 2017, 10:44:17 PM4/20/17
to Comunidad de Visual Foxpro en Español
Lamentablemente me acaba de confirmar ZeRoberto que con el Menu Creator no es posible personalizar los colores de la barra de menú. sniff.

Víctor Hugo Espínola Domínguez

unread,
Apr 20, 2017, 11:06:39 PM4/20/17
to publice...@googlegroups.com
Si el menú está contenido en un form sí se puede cambiar los atributos.

Saludos,
Víctor.
Lambaré - Paraguay.

Víctor Hugo Espínola Domínguez

unread,
Apr 20, 2017, 11:18:58 PM4/20/17
to publice...@googlegroups.com
Te aconsejo que explores este blog, encontrarás otros estilos de menús que quizás te gusten.

Saludos,
Víctor.
Lambaré - Paraguay.


El 20 de abril de 2017, 23:06, Víctor Hugo Espínola Domínguez<vich...@gmail.com> escribió:
Si el menú está contenido en un form sí se puede cambiar los atributos.

Saludos,
Víctor.
Lambaré - Paraguay.

Víctor Hugo Espínola Domínguez

unread,
Apr 20, 2017, 11:38:13 PM4/20/17
to publice...@googlegroups.com

ZeRoberto

unread,
Apr 21, 2017, 2:15:59 AM4/21/17
to publicesvfoxpro
Si pero no cambia el color de la ventana del menú solo el color del ítem, esto te das cuenta cuando pones una barra divisoria

Saludos
Message has been deleted

Ultraton500

unread,
Apr 21, 2017, 9:08:49 PM4/21/17
to Comunidad de Visual Foxpro en Español
Gracias Victor Hugo por la ayuda.
Los menúes de ese blog se ven realmente excelentes aunque me llamó la atención que en todos los ejemplos los menúes se encuentran separados de la barra de título del form que los contiene.



No obstante esta observación empecé a hacer pruebas y encontré en el código que la posición de la barra de menú se establece con el parámetro BAR AT LINE del comando DEFINE MENU y que tiene "1" como valor (Bar At Line 1).
Si se coloca el valor 0 (Bar At Line 0) el menú se ubica inmediatamente debajo de la barra de título pero ignora los colores personalizados y muestra los colores del menú de vfp como se ve en la siguiente imagen:



De todas formas, si la línea en la que se ubica el menú es superior a cero (por ej. Bar At Line Bar At Line 2) los colores mostrados del menú son los personalizados pero cualquier form llamado (desde el menú) se ubica por encima de este tal como se ve en la siguiente imagen como si el menú no perteneciera a la aplicación sino al formulario:


Estaba ilusionado con esta alternativa pero parece que nuestro zorro no da muchas opciones para el menú clásico.

Saludos y gracias nuevamente,
Javier.

Víctor Hugo Espínola Domínguez

unread,
Apr 24, 2017, 1:03:07 PM4/24/17
to publice...@googlegroups.com
Mira si te gusta

        Define Menu (m.cMenuName) In (m.oFormRef.Name) Bar At Line 0.05   Font 'Arial',12  Style "BI" Color Scheme 1


Saludos,
Víctor.
Lambaré - Paraguay.


Ultraton500

unread,
Apr 25, 2017, 2:32:36 AM4/25/17
to Comunidad de Visual Foxpro en Español
Claro que si, me gusta como queda. Estéticamente sería la solución, al menos en mi caso esa ínfima separación de 2 pixeles no me molesta en absoluto. 

El único detalle es que mientras el valor de "Bar At Line" es mayor que cero la barra de menú deja de estar "AlwaysOnTop" y queda tapada por cualquier otro formulario que ocupe el total de la ventana o que esté maximizado.
Aunque se haya abierto una ventana, en ocasiones suele ser necesario que algunas opciones del menú sigan disponibles y por eso este debería estar inevitablemente visible todo el tiempo (tal como los menúes que conocemos de vfp).

A menos que se trate de un bug sinceramente no entiendo el por qué de este cambio de comportamiento según la posición del menú...

Estuve pensando la forma de evitar que los forms de mi aplicación se ubiquen por encima del menú y lo único que se me ocurrió fue escribir estas líneas en el evento MOVED de todos los forms de mi sistema:

IF THIS.TOP < 20
THIS.TOP = 20
ENDIF

pero al arrastrar el form por debajo de los 20 pixeles se produce un efecto visual no deseado.

Gracias Víctor Hugo por la sugerencia. Valoro mucho tu colaboración.

Saludos cordiales,
Javier.

Víctor Hugo Espínola Domínguez

unread,
Apr 25, 2017, 10:21:58 AM4/25/17
to publice...@googlegroups.com
Puedes deshabilitar el botón maximizar o establecer en .T. la propiedad AlwaysOnBottom

Saludos,
Víctor.
Lambaré - Paraguay.


Ultraton500

unread,
Apr 26, 2017, 3:18:56 AM4/26/17
to Comunidad de Visual Foxpro en Español
Tienes razón Víctor Hugo, haciendo esas dos cosas se puede evitar que el menú quede por debajo de las ventanas que se abren.

Lo que acabo de descubrir es que si se establece un valor > 0 al parámetro BAR AT LINE del comando DEFINE MENU no solo ocurre que no se aplican los esquemas de colores al menú sino que también cambian algunos comportamientos:

- Después de abrir un sub-popup (un popup de otro popup) la sombra del popup padre desaparece como se puede ver en la imagen.


- Para que los ítem de un popup (por ej. "Bananas","Salsa", etc.) se seleccionen mientras que se pasa el puntero del mouse por encima hay que mantener presionado el botón del mouse.

- El popup que se abre al hacer click sobre un ítem del menú (por ej. "Foods") no se cierra al poner el puntero del mouse sobre otro ítem (por ej. "Animals") ni tampoco se abre el popup de este otro ítem. Para desplegar el submenú (popup) de cada ítem de la barra de menú hay que hacer un click siendo que el comportamiento normal es que, una vez desplegado un submenú, los submenúes del resto de los ítems de la barra de menú se abren con solo pasar el puntero por encima.

- Para cerrar un  un pupup hay que hacer click sobre el form en donde se encuentra el menú porque no se vuelve a cerrar con un click sobre el ítem que lo abre como ocurre normalmente en cualquier menú.

Estos comportamientos atípicos no ocurren cuando el valor de BAR AT LINE es cero.


Una vez mas Víctor Hugo muchas gracias.
Saludos cordiales,
Javier.

ZeRoberto

unread,
Apr 26, 2017, 9:12:52 AM4/26/17
to publicesvfoxpro
Wow ser ve bien como lo lograste.

Saludos

Ultraton500

unread,
Apr 26, 2017, 4:08:39 PM4/26/17
to Comunidad de Visual Foxpro en Español
Aunque el menú tradicional no parece ser muy influyente en el diseño de una aplicación es notable cómo puede realzar su presentación si se aplican colores que armonicen con el logo o el fondo de pantalla dándole un aspecto mas profesional.
Acá hice un ejemplo simple de una linda combinación (bueno... para mi gusto):


Por eso es que me lamento tanto por no poder hacerlo y me quedo con las ganas.

Saludos,
Javier.

Ultraton500

unread,
Apr 26, 2017, 4:13:31 PM4/26/17
to Comunidad de Visual Foxpro en Español
Aclaro que tuve que editar la imagen del menú para que la sombra del popup de los ítems "Bananas", "Salsa", etc. conserve la sombra porque cuando aparece el otro popup la sombra desaparece como comenté anteriormente.

Saludos,
Javier.

integral

unread,
Apr 27, 2017, 3:30:27 PM4/27/17
to Comunidad de Visual Foxpro en Español

Estimado Amigo ULTRATON :

Me muestro una imagen de un ejemplo de menu en VFP de un estilo diferente que estuve tratando de complementar pero por problemas diversos no continue su implementacion...

Te indico el link donde se hablo del tema y la imagen del diseño que claro se puede ir mejorando.


Saludos,

INTEGRAL

Ultraton500

unread,
Apr 28, 2017, 12:56:33 AM4/28/17
to Comunidad de Visual Foxpro en Español
Gracias Integral por el dato.
Le envié un correo a VfpStyleMenu Framework consultándole el costo y las posibilidades del módulo para desarrollar menúes.
Por otra parte, en el hilo del link que indicaste hay una clase de un menú tipo office 2003 que habrá que ver qué posibilidades de modificación permite.

Saludos,
Javier.

integral

unread,
Apr 28, 2017, 12:12:30 PM4/28/17
to Comunidad de Visual Foxpro en Español

Amigo ULTRATON :

El Menu que mencionas llamado OUTLOOKBAR2003 se toco y hablo en el siguiente link...

https://groups.google.com/forum/#!search/authormsg$3Apublicesvfoxpro$2CYuXubbbrGwAJ$20after$3A2016$2F12$2F1$20before$3A2017$2F1$2F1%7Csort:date%7Cspell:false/publicesvfoxpro/Fp6tH0Db8ws/RAoncHeIDQAJ

Ahi encontraras un ejemplo basico que lo puedes utilizar y adaptar si deseas...

Saludos,

INTEGRAL
 
El miércoles, 19 de abril de 2017, 15:46:50 (UTC-5), Ultraton500 escribió:

Ultraton500

unread,
Apr 28, 2017, 2:22:04 PM4/28/17
to Comunidad de Visual Foxpro en Español
Integral, el menú al que me refería es el del primer link que me pasaste en donde no hay nada referido a Outlook sino a un menú tipo Office 2003 del que compartiste un .pdf llamado "Menu_Office_ 2003_vcx_tools" pero que al final ví que solo hablaba de los pupups y no de la barra de menú.
El menú tipo Outlook es un menú lateral y lo que me interesa el se menú clásico tradicional en forma de barra horizontal que se ubica en la parte superior de una aplicación.
Igualmente gracias.

Saludos,
Javier.

integral

unread,
Apr 28, 2017, 5:05:17 PM4/28/17
to Comunidad de Visual Foxpro en Español

Amigo ULTRATON :

Entendí perfectamente sobre el tipo de menu que deseas implementar y justamente te recomiendo que descargues el proyecto POPMENU, dicho link esta en el documento que mencionas...

Te adjunto nuevamente el menu con algunas opciones utilizando la barra de VFP que estaba trabajando y la imagen del formulario del proyecto que hago mencion.

Saludos,

INTEGRAL
 

El miércoles, 19 de abril de 2017, 15:46:50 (UTC-5), Ultraton500 escribió:
POPMENU.jpg
MENU ESTILO DIFERENTE.jpg

Ultraton500

unread,
Apr 28, 2017, 6:25:14 PM4/28/17
to Comunidad de Visual Foxpro en Español
Gracias Integral. Antes de probarlo me gustaría preguntarte si tiene opciones para cambiar el estilo de la barra de menú (no de los popup) porque por el nombre y por las opciones de la ventana de configuración que se ve en la imagen que adjuntaste esta clase es para hacer cambios solo en los popups.

Saludos cordiales,
Javier.

Antonio Meza

unread,
Apr 28, 2017, 6:39:29 PM4/28/17
to Comunidad de Visual Foxpro en Español
Checa el siguiente link dice como hacerlo para cambiarle el color de fondo de la barra de menús, si te sirve me dices jajajajaj


saludos
Antonio Meza

Antonio Meza

unread,
Apr 28, 2017, 6:46:41 PM4/28/17
to Comunidad de Visual Foxpro en Español

integral

unread,
Apr 28, 2017, 8:10:42 PM4/28/17
to Comunidad de Visual Foxpro en Español

Amigo ULTRATON :

Te mando los archivos de los que te comentaba incluyendo el proyecto...

Si logras mejorarlo y darle una buena presentación espero lo compartas.
Downloads._rar

integral

unread,
Apr 28, 2017, 8:36:04 PM4/28/17
to Comunidad de Visual Foxpro en Español

Amigo ULTRATON :

Te muestro el resultado de un tipo de menu que la presentación es parecida el Menu nativo del VFP
vfps_backup01.png

integral

unread,
Apr 28, 2017, 10:51:18 PM4/28/17
to Comunidad de Visual Foxpro en Español

Amigo ULTRATON :

Te sugiero que le des una ojeada al siguiente link bastante interesante...

Ultraton500

unread,
Apr 30, 2017, 3:53:13 AM4/30/17
to Comunidad de Visual Foxpro en Español
Hola Antonio. Gracias por tu colaboración.
La 1er. parte del 1er. link y los dos últimos links hacen referencia a la misma técnica. Se trata de inyectar código en el menú .mpr a través de la opción "Skip For" del diseñador de menús. Pero esto no tiene ningún efecto sobre la barra de menú, solo sirve para dar color a los ítems del popup sin incluir los separadores y tampoco da color al fondo del popup como se puede ver en la siguiente imagen.


Lo que no sabría cómo probar es el código que está a continuación de "Colorear fondo del menú principal del fox: " del 1er. link que me pasaste.
Lo que hice fue colocar ese código en un .prg y llamarlo desde el INIT del form principal desde donde actualmente llamo al menú pero no pasó nada. Si tienes alguna sugerencia te lo agradecería.

Lamentablemente todas las soluciones basadas en modificar el código del menú no sirven porque ahí hay un bug, algo que no funciona como debería: Si la barra de menú se encuentra en la línea cero (BAR AT LINE 0) la funcionalidad del menú es normal pero el esquema de colores es ignorado y si se cambia de fila (BAR AT LINE 1 o BAR AT LINE 0.05) se aplica el esquema de colores pero se altera el comportamiento normal como por ej. 

- el menú queda por debajo de las ventanas que se abren.
- desaparecen las sombras de los popups cuando se abren otros popups.
- para que los ítems de los popups se selecionen al pasar el mouse por encima hay que tener presionado el botón del mouse.

Es realmente frustrante, he dedicado ya una cantidad ridícula de horas para intentar cambiar un par de colores. Solo se trata de un detalle visual, algo superficial, pero por la cantidad de vistas que tiene este hilo parece que somos bastantes los interesados.

Saludos cordiales,
Javier.

Ultraton500

unread,
Apr 30, 2017, 4:05:11 AM4/30/17
to Comunidad de Visual Foxpro en Español
Ya descargué el archivo. Veré mañana de qué se trata y si llego a lograr algo por supuesto que voy a comentarlo.
En cuanto al link que me sugieres ya lo había visto, me pareció muy extenso y complicado y decidí no perder mas el tiempo con los menúes de esa página porque lucen realmente muy bien pero tienen limitaciones o problemas de funcionamiento.

Saludos cordiales,
Javier.

Javier Bernal

unread,
May 2, 2017, 10:46:43 AM5/2/17
to Comunidad de Visual Foxpro en Español


Yo tengo de esta manera en todos los catálogos de mis sistemas, ya sean clientes, proveedores, articulo, trabajadores, etc.

SISTEMAS VFPSTEAM

unread,
May 2, 2017, 11:05:05 AM5/2/17
to Comunidad de Visual Foxpro en Español
Hola

El menú que comentan es un producto que teníamos llamado MenuOffice2003, dicho producto ya no esta disponible ya que fue cambiado por VFPsRibbonBar. Ahora para los que deseen usar ese estilo de menú escribanos a webm...@vfpsteambi.solutions y le vamos a enviar la clase con un proyecto de ejemplo para su uso free.

Favor de escribir correo con sus datos, no se responderá correos si usan seudónimos

Saludos
VFPSTEAM BI SOLUTIONS

Antonio Meza

unread,
May 2, 2017, 1:18:15 PM5/2/17
to Comunidad de Visual Foxpro en Español
Entonces si es posible hacer lo que comenta Ultratom500 de poder cambiar las propiedades del menú tradicional?

saludos
Antonio Meza

Ultraton500

unread,
May 2, 2017, 3:21:59 PM5/2/17
to Comunidad de Visual Foxpro en Español
Hola Javier, gracias por tu comentario.

Por lo que entiendo esa sería una forma de ofrecer al usuario la posibilidad de abrir otras ventanas cuando la/s ventana/s abierta/s no permite/n acceder al menú o cuando habría que desplazar una o mas ventanas para acceder a él porque está oculto debajo de todo.
El inconveniente que veo es que habría que agregar en cada ventana tantos botones como la cantidad de ventanas permita el sistema tener abiertas simultáneamente. No es mi costumbre, pero hay quienes en sus aplicaciones permiten tener abiertas varias ventanas a la vez y en ese caso habría que llenar de botones todas las ventanas de la aplicación. Sería algo parecido a tener un menú en cada ventana.
No me sorprendería que la barra de menú haya sido la respuesta a la necesidad de solucionar problemas como el que acabo de mencionar.

Saludos cordiales,
Javier.

Ultraton500

unread,
May 2, 2017, 3:24:55 PM5/2/17
to Comunidad de Visual Foxpro en Español
Hola, muchas gracias por la aclaración y por su generosidad.
Ya he enviado una solicitud con mis datos.

Saludos cordiales,
Javier.
Reply all
Reply to author
Forward
0 new messages