Fechar tela modal

Bom dia, gostaria de fechr um popup após clicar fora dele, tentei usar o script MouseUP e os parâmetros MouseX e MouseY para saber se a posição do mouse se encontra dentro ou fora da tela, mas o popup não permite fecha-la se eu clico fora. Há alguma forma de fazer isso?

Não, esse é o comportamento da tela modal. Ela só pode ser fechada de dentro dela mesma.

Se você quiser um comportamento diferente, não pode usar a tela modal. A alternativa seria abrir uma tela normal em outro frame (pode colocar qualquer nome inexistente) com as dimensões desejadas. Para fechá-la você terá que criar um script no evento Click da tela principal (que chamou a tela popup).

1 Like

Entendo, porque meu problema é o seguinte, ao invés de criar varias telas, criei uma pequena para servir de tela indexada. Quando abro ela a impressão que dá é que apenas alterei a visibilidade dos objetos para enable pois ela não possue moldura e tem o mesmo fundo da tela que à abre. O problema de abrir ela em um quadro é que preciso manter a tela que a chamou no fundo, e ao clicar fora ela só fecha entende?

Veja este link:

http://kb.elipse.com.br/pt-br/questions/3233

1 Like

Boa tarde Paulo,

Então até agora tenho conseguido fazer o que você sugeriu e tem dado certo, muito obrigado!!!

Mas agora minha dúvida é, como gerar um evento na tela que chamou o popup para fechar o mesmo quando eu clicar nela?

Estou usando um botão com o seguinte codigo

Application.GetFrame(“Frm2”).SetFrameOptions “”,256
Application.GetFrame(“Frm2”).MoveFrame 1400,119,447,836
Application.GetFrame(“Frm2”).OpenScreen “PopupIluminacao”,1

Agora queria clicar na tela que fica de fundo para ela fechar esse PopIluminação… como fazer?

Você pode fazer o script no evento Click da tela que chamou o popup. Por exemplo:

Sub TelaInicial_Click()
set popup = Application.GetFrame(“NomeDoFrame”)
popup.Close(0)
End Sub

1 Like

Paulo!!! Funcionou!!

Muito obrigado de vdd, era justamente o que eu precisava!

1 Like