Elipse Knowledgebase



Utilizando os métodos GetScreen e ShowScreen.

Descrição:

Como posso utilizar os métodos GetScreen do Viewer e ShowScreen do Divisor? Para que eles servem?

Solução:


O método GetScreen(ScreenName) retorna um objeto Tela, cujo nome deve ser especificado no parâmetro ScreenName. O valor de retorno deste método pode ser utilizado no método ShowScreen do objeto Divisor.

Já o método ShowScreen(Screen, Zoom, Scrollbars[, Arg]) carrega uma tela no Divisor, fechando a tela ou Quadro carregado anteriormente. O parâmetro Screen somente aceita o objeto retornado pelo método GetScreen do Viewer. Este método falha caso seja utilizado um objeto Tela obtido a partir de outro método ou propriedade, como por exemplo a propriedade Screen, comum a todos os objetos de tela.

Para ilustrar a utilidade destes métodos, imagine uma situação onde seja necessário abrir uma tela e executar alguns scripts. Antes destes métodos terem sido criados, era necessário um script para abertura da tela, e nesta tela um outro script (normalmente no evento de OnPreShow) para acessar seus objetos filhos.

O problema com esta abordagem seria, por exemplo, a criação de bibliotecas que dependem sempre da criação deste script na aplicação, não permitindo o desenvolvimento de uma biblioteca capaz de reduzir problemas de acoplamento. Com os novos métodos GetScreen e ShowScreen, é possível realizar a chamada da abertura da tela por script, e antes que a tela seja aberta, receber o objeto Tela e acessar os objetos filhos desejados.

A aplicação em anexo ilustra o uso de uma tela indexada janelada, que atribui o caminho do XObject associado ao XControl diretamente no script do evento Click do objeto, não sendo necessário enviar e receber o parâmetro no evento OnPreShow.

Script utilizado:

Sub Picture1_Click()

Arg = XCMotor.Source.PathName
Set newScreen = Application.GetFrame("virtualFrame")
newScreen.MoveFrame , , 250, 300
newScreen.SetFrameOptions XCMotor.Source.Name, 15+64+256+2048

Set screenObj = Application.GetScreen("CommandScreen")
newScreen.ShowScreen screenObj, 100, 0
screenObj.Item("IndexedScreen1").Source = Arg    

End Sub

NOTA: A aplicação em anexo foi desenvolvida com a versão 4.8 build 239 do Elipse E3.


Artigos Relacionados

Este artigo não possui outros artigos relacionados.

Anexos

Comentários de Usuários

Nenhum comentário de usuário. Adicionar um comentário

Comentários do artigo 'Utilizando os métodos GetScreen e ShowScreen.'

Para adicionar um comentário neste artigo, preencha os campos abaixo. Os campos marcados com asterisco são obrigatórios.

   Nome:
   E-mail:
* Comentário:
* Digite o código abaixo:

 

Detalhes do Artigo

Última Atualização
23rd of May, 2017

Autor
Délio Damin

Você gostaria de...

Imprimir esta página  Imprimir esta página

Enviar por e-mail esta página  Enviar por e-mail esta página

Adicionar um comentário  Adicionar um comentário

 Avise-me

Avise-me  Adicionar aos favoritos

Remover Marcação Remover Marcação

Editar este Artigo

Edição Rápida


Opinião dos Usuários

Nenhum usuário votou ainda.

Como você classifica este artigo?




Obrigado pelo seu voto.

Continuar