Dos Preguntas sobre MDI
Posted: Tue Oct 02, 2007 2:36 pm
Amigos del foro tengan buen día tengo las siguientes preguntas:
1- Estoy trabajando con ventanas MDI y resulta que cuando abro las ventanas estas me salen en la misma posicion, se coloca una sobre la otra; la pregunta es como hago para ir aumentando las coordenadas de las ventanas a medida que se van creando para que se vea como CASCADA?
El codigo de una de las ventanas el es siguiente:
2- En el menu principal cree el menu (valga la rebusnancia) para el control de las ventanas; pero cuando se activan las ventanas en el submenu "ventanas" no se muestran las ventanas activas si no el menu siguiente, ¿como se le indica al sistema cual es el submenu que debe afectar?.
De antemano gracias
1- Estoy trabajando con ventanas MDI y resulta que cuando abro las ventanas estas me salen en la misma posicion, se coloca una sobre la otra; la pregunta es como hago para ir aumentando las coordenadas de las ventanas a medida que se van creando para que se vea como CASCADA?
El codigo de una de las ventanas el es siguiente:
Code: Select all
DEFINE WINDOW oLamcla:oWndChild MDICHILD OF oWnd FROM 3,3 TO 6,6 COLOR "N/W" nomaximize border none ICON "#8009"
oLamcla:oWndChild:bGotFocus = { || oCuadro:SetFocus() }
DEFINE DIALOG oCuadro RESOURCE "orCiudad" OF oLamcla:oWndChild
REDEFINE BTNBMP Btn_Agre ID 4007 OF oCuadro RESOURCE "Bagre" TOOLTIP oLamcla:mTagr NOBORDER ACTION (oLamcla:vgraba:=.t.,oLamcla:autoriza(29))
REDEFINE BTNBMP Btn_Modi ID 4001 OF oCuadro RESOURCE "Bmodi" TOOLTIP oLamcla:mTmod NOBORDER ACTION (oLamcla:vgraba:=.f.,oLamcla:autoriza(30))
REDEFINE BTNBMP Btn_Borr ID 4002 OF oCuadro RESOURCE "Bborr" TOOLTIP oLamcla:mTbor NOBORDER ACTION oLamcla:autoriza(31)
REDEFINE BTNBMP oLamcla:Btn_Imor ID 4004 OF oCuadro RESOURCE "Bimpr" TOOLTIP oLamcla:mTimp NOBORDER ACTION oLamcla:autoriza(32)
REDEFINE BTNBMP Btn_Sali ID 4006 OF oCuadro RESOURCE "Bsalid" TOOLTIP oLamcla:mTsal NOBORDER ACTION (oLamcla:oTbMed:End(),oCuadro:end())
REDEFINE BTNBMP Btn_Limp ID 4010 OF oCuadro RESOURCE "BLimpi" TOOLTIP oLamcla:mTfil NOBORDER ACTION (oLamcla:oC1vg1:=space(100),pArMedi())
REDEFINE COMBOBOX oM1oc1 VAR oM1vc1 PROMPTS oM1lc1 ID 4003 OF oCuadro UPDATE ;
ON CHANGE(IF(oM1vc1="Código",oLamcla:vOrden="m_medida",oLamcla:vOrden:="m_nombre"),(pArMedi()))
REDEFINE GET oC1og1 VAR oLamcla:oC1vg1 ID 4009 OF oCuadro UPDATE VALID(pBusMed(),.T.)
TXBrowse():lHeaders := .T.
oLamcla:oTbMed:GoTop()
oLamcla:oBrwMed := TXBrowse():New( oCuadro )
WITH OBJECT oLamcla:oBrwMed
:CreateHeader()
MySetbrowse( oLamcla:oBrwMed,oLamcla:oTbMed )
:nMarqueeStyle := MARQSTYLE_HIGHLROW
:nColDividerStyle := LINESTYLE_RAISED
:bClrSelFocus := {|| { CLR_WHITE, oLamcla:cClr3 } } //:= {|| { CLR_WHITE, RGB(24, 116, 205) } }
oLamcla:oBrwMed:blDblClick := {|| oLamcla:vgraba:=.f.,oLamcla:autoriza(30)}
oLamcla:oBrwMed:bKeyDown := {|nKey|iif(nKey == 13,(oLamcla:vgraba:=.f.,oLamcla:autoriza(30)),(" "))}
:nHeaderLines := 1
:lColDividerComplete := .t.
:lRecordSelector := .t.
:SetColor(CLR_BLACK, RGB(255,255,235))
:bClrStd := {|| IF( (oLamcla:oTbMed:Recno()%2)==0,{CLR_BLACK,oLamcla:cClr2},{CLR_BLACK,oLamcla:cClr1} ) }
:bClrSel := {|| { CLR_BLACK,oLamcla:cClr7 } }
WITH OBJECT :AddCol()
:cHeader := "Código"
:bStrData := GenCB(oLamcla:oTbMed,1)
:nHeadStrAlign := AL_LEFT
:nDataStrAlign := AL_LEFT
:nWidth := 80
END
WITH OBJECT :AddCol()
:cHeader := "Nombre"
:bStrData := GenCB(oLamcla:oTbMed,2)
:nHeadStrAlign := AL_LEFT
:nDataStrAlign := AL_LEFT
:nWidth := 225
END
WITH OBJECT :AddCol()
:cHeader := "Sigla"
:bStrData := GenCB(oLamcla:oTbMed,3)
:nHeadStrAlign := AL_LEFT
:nDataStrAlign := AL_LEFT
:nWidth := 65
END
:CreateFromResource( 102 )
END
ACTIVATE DIALOG oCuadro NOWAIT CENTERED ON INIT oCuadro:Move( 0, 0 ) VALID (oLamcla:oWndChild:End(), .t. )
oLamcla:oWndChild:nWidth := oCuadro:nWidth+7
oLamcla:oWndChild:nHeight := oCuadro:nHeight+32
oLamcla:oWndChild:cTitle:="Tabla de Medidas"
ACTIVATE WINDOW oLamcla:oWndChild ON INIT oWnd:paint()
Code: Select all
********************************
*GENERA EL MENU DE LA APLICACION
********************************
FUNCTION Menu()
LOCAL oMenu
MENU oMenu
MENUITEM "&Contabilidad"
MENU
MENUITEM "&Catálogos"
MENU
MenuItem "&Terceros" ACTION oLamcla:autoriza(11)
SEPARATOR
MenuItem "C&omprobantes" ACTION oLamcla:autoriza(83)
MenuItem "&Control Documentos" ACTION oLamcla:autoriza(107)
MenuItem "&Otros Conceptos Documentos" ACTION oLamcla:autoriza(147)
SEPARATOR
MenuItem "C&uentas" ACTION oLamcla:autoriza(95)
MenuItem "C&entros de Costo" ACTION oLamcla:autoriza(89)
SEPARATOR
MenuItem "C&iudades" ACTION oLamcla:autoriza(23)
ENDMENU
MENUITEM "Ca&ptura Datos"
MENU
MenuItem "&Comprobantes Varios"
MenuItem "&Ajustes por Inflación"
MENU
MenuItem "&Generar Comprobante de Ajustes"
MenuItem "&Tabla de Porcentaje Mensual"
ENDMENU
ENDMENU
MENUITEM "&Reportes Impresora"
MENU
MenuItem "&Auxiliares" //ACTION oLamcla:autoriza(11)
MenuItem "&Balances" //ACTION oLamcla:autoriza(11)
MenuItem "&Estado de Resultados" //ACTION oLamcla:autoriza(11)
MenuItem "&Libros Oficiales" //ACTION oLamcla:autoriza(11)
MenuItem "C&omprobante de Diario" //ACTION oLamcla:autoriza(11)
MenuItem "C&entros de Costo" //ACTION oLamcla:autoriza(11)
ENDMENU
MENUITEM "C&onciliación Bancaria"
MENUITEM "&Funciones Especiales"
MENU
MenuItem "&Cruce de Catálogo con Movimiento" ACTION oLamcla:autoriza(162)
ENDMENU
SEPARATOR
MENUITEM "&Salir" ACTION oWnd:End()
ENDMENU
MENUITEM "&Inventarios"
MENU
MENUITEM "&Catálogos"
MENU
MENUITEM "&Terceros" ACTION oLamcla:autoriza(11)
MenuItem "C&iudades" ACTION oLamcla:autoriza(23)
SEPARATOR
MENUITEM "&Unidades de Medida" ACTION oLamcla:autoriza(28)
MENUITEM "&Categorias Artículos" ACTION oLamcla:autoriza(33)
MENUITEM "Nivel &1" ACTION oLamcla:autoriza(38)
MENUITEM "Nivel &2" ACTION oLamcla:autoriza(43)
MENUITEM "Nivel &3" ACTION oLamcla:autoriza(48)
MENUITEM "&Tallas" ACTION oLamcla:autoriza(53)
MENUITEM "C&olores" ACTION oLamcla:autoriza(58)
MENUITEM "Cat&egorias Tallas" //ACTION LamCata()
MENUITEM "Listas de &Precios" ACTION oLamcla:autoriza(68)
MENUITEM "&Artículos" ACTION oLamcla:autoriza(77)
SEPARATOR
MENUITEM "&Bodegas" ACTION oLamcla:autoriza(63)
ENDMENU
MENUITEM "&Kardex de Entradas y Salidas" ACTION oLamcla:autoriza(999)
MENUITEM "&Captura Datos"
MENU
MenuItem "En&tradas Directas" ACTION oLamcla:autoriza(999)
MenuItem "&Salidas Directas" ACTION oLamcla:autoriza(999)
MenuItem "&Traslado Entre Bodegas" ACTION oLamcla:autoriza(999)
SEPARATOR
MenuItem "&Saldos Iniciales" ACTION oLamcla:autoriza(141)
ENDMENU
MENUITEM "&Reporte de Inventarios" ACTION TEMPO()
MENU
MenuItem "&Movimiento Bodega" ACTION oLamcla:autoriza(146)
MenuItem "I&nventarios Por Grupo" ACTION oLamcla:autoriza(999)
ENDMENU
ENDMENU
MENUITEM "&Facturación"
MENU
MENUITEM "C&aptura Datos"
MENU
MENUITEM "&Pedidos"
Menu
MenuItem "Pedidos - Control Bar" ACTION oLamcla:autoriza(101)
MenuItem "Pedidos en Bloque"
EndMenu
MenuItem "&Factura" ACTION oLamcla:autoriza(124)
MenuItem "&Remisión" ACTION oLamcla:autoriza(155)
SEPARATOR
MENUITEM "&Saldos Iniciales" ACTION TEMPO()
MENU
MenuItem "&Saldos Iniciales Remisiones" ACTION oLamcla:autoriza(16)
MenuItem "&Saldos Iniciales Facturas" //ACTION LamIniFa()
ENDMENU
ENDMENU
MENUITEM "&Consultas Facturación"
MENU
MenuItem "&Factura" ACTION TEMPO()
MenuItem "&Remisión" ACTION TEMPO()
ENDMENU
MENUITEM "&Reportes Facturación"
MENU
MenuItem "&Factura" ACTION TEMPO()
MenuItem "&Remisión" ACTION TEMPO()
SEPARATOR
MenuItem "Ventas por &Día" ACTION oLamcla:autoriza(132)
SEPARATOR
MenuItem "Codigos de Barras" ACTION oLamcla:autoriza(131)
ENDMENU
ENDMENU
MenuItem "&Cuentas Por Pagar"
MENU
MenuItem "&Cuentas por Pagar (Compras)" ACTION oLamcla:autoriza(133)
MenuItem "&Pago a Proveedores" ACTION TEMPO()
MenuItem "&Cancelación de Pagos" ACTION TEMPO()
MenuItem "&Estado de Cuenta del Proveedor"
MENU
MenuItem "&General" ACTION TEMPO()
MenuItem "&Detallado" ACTION TEMPO()
ENDMENU
MenuItem "&Reporte de Pagos Realizados" ACTION TEMPO()
MenuItem "&Antiguedad de Saldos" ACTION TEMPO()
ENDMENU
MenuItem "Cuentas Por C&obrar"
Menu
MenuItem "&Pago de Clientes" ACTION TEMPO()
MenuItem "&Cancelación de Pagos" ACTION TEMPO()
MenuItem "&Estado de Cuenta del Cliente" ACTION TEMPO()
MenuItem "&Reporte de Pagos Realizados" ACTION TEMPO()
MenuItem "&Antiguedad de Saldos" ACTION TEMPO()
EndMenu
MenuItem "&Parámetros"
Menu
MenuItem "&Catálogo Empresas" ACTION TEMPO()
MenuItem "&Parámetros del Sistema" ACTION TEMPO()
MenuItem "P&orcentajes para Precios" ACTION TEMPO()
EndMenu
MENUITEM "&Utilerías"
MENU
MenuItem "&Calculadora" Message "Activa la Calculadora de Windows" Action (WinExec("CALC.EXE"))
Separator
MenuItem "&Ver Errores" Message "Ver Errores del Sistema" ACTION TEMPO()
ENDMENU
MENUITEM "&Ventanas" WHEN LEN(oWnd:oWndClient:aWnd) > 0 HELP
MENU
MENUITEM "&Anterior" ACTION oWnd:oWndActive:Prev();
WHEN LEN(oWnd:oWndClient:aWnd) > 1
MENUITEM "&Siguiente" ACTION oWnd:NextWindow();
WHEN LEN(oWnd:oWndClient:aWnd) > 1
MENUITEM "&Cerrar" ACTION oWnd:oWndActive:End()
SEPARATOR
MENUITEM "&Minimizar todo" ACTION oWnd:IconizeAll()
MENUITEM "&Restaurar todo" ACTION AEVAL(oWnd:oWndClient:aWnd,{ |oWnd, nPos| oWnd:Restore() })
MENUITEM "C&errar todo" ACTION oWnd:CloseAll();
WHEN LEN(oWnd:oWndClient:aWnd) > 1
ENDMENU
MENUITEM "&Seguridad" HELP
MENU
MENUITEM "Catálogo &Usuarios" //ACTION LamUsua()
MENUITEM "Catálogo &Llaves" ACTION oLamcla:autoriza(112)
SEPARATOR
MENUITEM "Catálogo &Autorizaciones" ACTION oLamcla:autoriza(121)
SEPARATOR
MENUITEM "&Seguridad Captura Datos" //ACTION LamLlav()
EndMenu
MENUITEM "&Ayuda" HELP
MENU
MENUITEM "&Contenido..."
MENUITEM "&Buscar Ayuda Sobre..."
MENUITEM "&Usar la Ayuda..."
Separator
MENUITEM "&Acerca de..."
EndMenu
ENDMENU
RETURN(oMenu)
De antemano gracias