Internal window movimentação para esquerda e para o centro escondendo e bloqueando objetos da janela de traz
Prezados,
WM - Trabalhando com janelas internas - Working with internal windows, posicionando IW no centro e fechando usando indirection:
Crie essa procedure
[code:wl]
// Summary: <specify the procedure action>
// Syntax:
//CentralizaIW (<Janela>, <InternalWindow>, <exibe>)
//
// Parameters:
// Janela:
// InternalWindow:
// exibe: <specify the role of hideUnhide>
PROCEDURE CentralizaIW(Janela,InternalWindow,exibe)
IF exibe = False THEN
{InternalWindow,indControl}..X = -2000
i is int = 1
ResChamp is string
sControle is string
ResChamp = EnumControl(Janela, i)
WHILE ResChamp <> ""
i++
//info(ResChamp)
sControle = Janela+"."+ResChamp
IF ResChamp <> InternalWindow
{sControle,indControl}..Grayed = False
END
ResChamp = EnumControl(Janela, i)
END
ELSE
nLarguraJanela is int = {Janela,indWindow}..Width
nLarguraIWindow is int = {InternalWindow,indWindow}..Width
{InternalWindow,indWindow}..X = (nLarguraJanela/2) - (nLarguraIWindow/2)
i is int = 1
ResChamp is string
sControle is string
ResChamp = EnumControl(Janela, i)
WHILE ResChamp <> ""
i++
//info(ResChamp)
sControle = Janela+"."+ResChamp
IF ResChamp <> InternalWindow
{sControle,indControl}..Grayed = True
END
ResChamp = EnumControl(Janela, i)
END
END
[/code]
Ao abrir a janela coloque esse codigo para esconder a IW
[code:wl]
CentralizaIW(MyWindow..Name,IWC_01..Name,False)
[/code]
E para exibir a IW
[code:wl]
CentralizaIW(MyWindow..Name,IWC_01..Name,true)
[/code]