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.


Related Articles

No related articles were found.

Attachments

Visitor Comments

No visitor comments posted. Post a comment

Post Comment for "Utilizando os métodos GetScreen e ShowScreen."

To post a comment for this article, simply complete the form below. Fields marked with an asterisk are required.

   Name:
   Email:
* Comment:
* Enter the code below:

 

Article Details

Last Updated
23rd of May, 2017

Autor
Délio Damin

Would you like to...

Print this page  Print this page

Email this page  Email this page

Post a comment  Post a comment

 Subscribe me

Subscribe me  Add to favorites

Remove Highlighting Remove Highlighting

Edit this Article

Quick Edit


User Opinions

No users have voted.

How would you rate this answer?




Thank you for rating this answer.

Continue