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ú.