**********************************
*MENU PARA CONTROL DE VENTANAS MDI
**********************************
function BuildMenu2()
local oMenu
MENU oMenu COLORPNEL oLamcla:nClrTxtMenu, oLamcla:nClrMenu
MENUITEM "&Organizar Ventanas"
MENU
MENUITEM "&Salir" RESOURCE oLamcla:cIcoCer ACTION ( oWnd:closeall(),oWnd:End())
SEPARATOR
MENUITEM "&Ventanas"
MENU
MENUITEM "Mosaico" RESOURCE oLamcla:cIcoMos action( oWnd:Tile() )
MENUITEM "Cascada" RESOURCE oLamcla:cIcoCas action( oWnd:Cascade() )
MENUITEM "Minimizar" RESOURCE oLamcla:cIcoMin action( oWnd:iconizeall() )
MENUITEM "Cerrar Todas" RESOURCE oLamcla:cIcoTod action( oWnd:Closeall() )
ENDMENU
ENDMENU
ENDMENU
return oMenu
...
...
DEFINE WINDOW oWnd MDI TITLE ttitu ICON "#8001" BRUSH oBrsh
...
...
oWnd:bPainted := {|hDC| FW_DrawImage( hDC, ".\res\fondo-logo.png", { 0,0, 668, 668 } ),;
oRBar:CalcPos(), oWnd:SetMenu( BuildMenu2() )}
...
...
ACTIVATE WINDOW oWnd
DEFINE WINDOW oWnd MDI TITLE "MI VENTANA MDI" ;
MENUINFO 0 //<-- esto
FranciscoA wrote:Hola, Si entendí bien, y lo que quieres es desactivar que se agregue el menuitem al abrir la ventana MdiChild, puedes intentar con:
- Code: Select all Expand view RUN
DEFINE WINDOW oWnd MDI TITLE "MI VENTANA MDI" ;
MENUINFO 0 //<-- esto
Antonio Linares wrote:Carlos,
Puedes construir FWH\samples\testmdi2.prg y comprobar si todo va bien ?
gracias
karinha wrote:Carlos, ¿podrías mostrar una foto por favor? Es un poco confuso. Gracias.
Regards, saludos.
Antonio Linares wrote:Carlos,
Puedes proporcionar el PRG completo para probarlo aqui ?
gracias
#include "FiveWin.ch"
STATIC oMdi := Nil
STATIC nContador := 0
/* Aquí empieza el program principal.
----------------------------------*/
FUNCTION MAIN()
/* Se define la ventana principal
---------------------------------*/
DEFINE WINDOW oMdi MDI ; // Definimos la ventana
FROM 2,2 TO 30,80; // Coordenadas
TITLE "Prova." ; // Título
MENU MenuMain() ; // Menú
MENUINFO 0
/* Se define la barra de mensajes
---------------------------------*/
SET MESSAGE OF oMdi ;
TO "aa " ;
CENTERED ;
CLOCK ;
DATE ;
KEYBOARD ;
NOINSET
/* Se activa la ventana principal
---------------------------------*/
ACTIVATE WINDOW oMdi ;
MAXIMIZED ;
ON INIT ( .T. ) ;
VALID ( MsgNoYes("Vol sortir del programa?", "Atenció!" ) )
Return Nil
// Fi de la funció d'arrancada.
/* *************************************************** */
/* *************************************************** */
FUNCTION MenuMain()
Local oMenumain := Nil
MENU oMenumain
MENUITEM "1ro."
MENU
MENUITEM "Ventanita, ventanita" ACTION mdichild()
MENUITEM "Cambia a menu 10" ACTION Menu10()
MENUITEM "Cambia a menu > 10" ACTION MenuMas10()
MENUITEM "&Sortir" ACTION oMdi:End()
ENDMENU
ENDMENU
Return oMenumain
/* *************************************************** */
/* *************************************************** */
FUNCTION MdiChild()
Local oLaMdiChid
DEFINE WINDOW oLaMdiChid MDICHILD FROM 0,0 TO 520,804 TITLE ;
"Ventanita, ventanita.." + Str( ++nContador,3,0) OF oMdi ;
NOZOOM PIXEL //FIVEWIDI
@ 408,721 SAY "Aquí estamos.." + Str( ++nContador,3,0) OF oLaMdiChid COLORS CLR_HBLUE,CLR_HRED ;
CENTER PIXEL SIZE 15,15 UPDATE //FIVEWIDI
ACTIVATE WINDOW oLaMdiChid
Return Nil
/* *************************************************** */
/* *************************************************** */
FUNCTION Menu10()
Local oMenu10 := Nil
MENU oMenu10
MENUITEM "Opcion 1"
MENU
MENUITEM "Ventanita, ventanita" ACTION mdichild()
MENUITEM "Cambia a menu 10" ACTION Menu10()
MENUITEM "Cambia a menu > 10" ACTION MenuMas10()
MENUITEM "&Sortir" ACTION oMdi:End()
ENDMENU
MENUITEM "Opcion 2"
MENUITEM "Opcion 3"
MENUITEM "Opcion 4"
MENUITEM "Opcion 5"
MENUITEM "Opcion 6"
MENUITEM "Opcion 7"
MENUITEM "Opcion 8"
MENUITEM "Opcion 9"
MENUITEM "Ayuda"
MENU
MENUITEM "Ayuda 1"
MENUITEM "Ayuda 2"
ENDMENU
ENDMENU
oMdi:Setmenu(oMenu10)
Return oMenu10
/* *************************************************** */
/* *************************************************** */
FUNCTION MenuMas10()
Local oMenuMas10 := Nil
MENU oMenuMas10
MENUITEM "Opcion 1"
MENU
MENUITEM "Ventanita, ventanita" ACTION mdichild()
MENUITEM "Cambia a menu 10" ACTION Menu10()
MENUITEM "Cambia a menu > 10" ACTION MenuMas10()
MENUITEM "&Sortir" ACTION oMdi:End()
ENDMENU
MENUITEM "Opcion 2"
MENUITEM "Opcion 3"
MENUITEM "Opcion 4"
MENUITEM "Opcion 5"
MENUITEM "Opcion 6"
MENUITEM "Opcion 7"
MENUITEM "Opcion 8"
MENUITEM "Opcion 9"
MENUITEM "Opcion 10"
MENUITEM "Opcion 11"
MENUITEM "Opcion 12"
MENUITEM "Opcion 13"
MENUITEM "Opcion 14"
MENUITEM "Opcion 15"
MENUITEM "Ayuda"
MENU
MENUITEM "Ayuda 1"
MENUITEM "Ayuda 2"
ENDMENU
ENDMENU
oMdi:Setmenu(oMenuMas10)
Return oMenuMas10
/* *************************************************** */
/* *************************************************** */
// Fi de la funció d'arrancada.
*eof: prova.PRG
Antonio Linares wrote:Carlos,
Pues si te funciona asi y te soluciona el problema, genial!
Hay algo que tengamos que arreglar ?
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 48 guests