- Code: Select all Expand view
- #include "FiveWin.ch"
function Main()
local oWnd
Define Window oWnd Title "Principal" Mdi
oWnd:bInit := {|| ps_Child(oWnd) }
Activate Window oWnd MAXIMIZED Valid MsgYesNo('Desea salir')
return nil
static proc ps_Child( oWnd )
local oChild
Define Window oChild MdiChild Title 'Child' of oWnd
Activate Window oChild On Init ps_Dialog(oChild)
return
static proc ps_Dialog( oChild )
local oDlg, oBrush, aGet[4], aVar[4]
oBrush := tbrush():New(, nRgb(224, 236, 255) )
DEFINE DIALOG oDlg Resource "Dialogo" OF oChild TRANSPARENT Brush oBrush
aVar[1] := space(50)
Redefine Get aGet[1] Var aVar[1] Id 102 Update Message 'Indique el código del usuario' Of oDlg
aVar[2] := space(50)
Redefine Get aGet[2] Var aVar[2] Id 103 Update Message 'Indique el nombre del usuario' Of oDlg
aVar[3] := space(50)
Redefine Get aGet[3] Var aVar[3] Id 104 Update Message 'Indique el código de la empresa' Of oDlg
aVar[4] := space(50)
Redefine Get aGet[4] Var aVar[4] Id 105 Update Message 'Indique el nombre de la empresa' Of oDlg
ACTIVATE DIALOG oDlg NoWait On Init ps_Incrus( oChild, oDlg ) Valid oChild:End()
return
static proc ps_Incrus(oChild, oDlg)
local nWidth, nHeight
oDlg:Move(0, 0,,, .T.)
nWidth := oDlg:nWidth + 7
nHeight := oDlg:nHeight + 33
oChild:SetSize(nWidth, nHeight, .T.)
oChild:Center()
return
Siendo el rc:
- Code: Select all Expand view
- DIALOGO DIALOG DISCARDABLE 0, 0, 305, 80
STYLE WS_CHILD|WS_VISIBLE
FONT 8, "MS Sans Serif"
{
CONTROL "123", 102, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 86, 20, 39, 12
CONTROL "123456", 103, "Edit", ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP, 133, 20, 146, 12
CONTROL "12", 104, "Edit", WS_BORDER|WS_TABSTOP, 86, 48, 32, 12
CONTROL "1", 105, "Edit", WS_BORDER|WS_TABSTOP, 133, 48, 105, 12
CONTROL "Usuario:", -1, "Static", SS_CENTERIMAGE|WS_GROUP, 47, 22, 31, 12
CONTROL "Empresa:", -1, "Static", SS_CENTERIMAGE|WS_GROUP, 47, 50, 31, 12
}
1.- Al cargar la ventana se llega a ver el dialogo sin definir los objetos, osea con el fondo gris, los valores por defecto, etc, etc. Algo que queda bastante feo.
En el ejemplo que he adjuntado, puede que no se llegue a apreciar, pero si el cuadro de dialog tiene mas controles (get, folder, etc) se puede llegar a verse el dialogo pelado perfectamente.
2.- Una vez activa la ventana se queda posicionado en el primer get (asi esta definido en el tabstop) pero no permite escribir en él.
3.- Y lo mas importante. Si se pulsta intro para cambiar de get. se borra toda la ventana.