Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Pagetitle
GetScreenRes
GetScreenRes

Portuguese

Recupera a resolução de tela da estação de trabalho.

Nota

Esta função deve ser executada apenas através de um programa com interface, ela não terá efeito se executada através de um Job.

Sintaxe

Bloco de código
languagenone
aScreenRes := getScreenRes()

Retorno


TipoDescrição
aScreenRes
array

A

Função: GetScreenRes

Retorna uma matriz com a resolução de tela da estação.

GetScreenRes ( ) --> aRet

aRet(vetor)Retorna uma matriz com a

resolução de tela da estação de trabalho.

*Em builds superiores à 120420A esta função passa a retornar, no terceiro elemento do vetor, a resolução de todos os monitores configurados para a estação, veja mais detalhes neste documento.

Utilize esta função somente nos programas executados através do Smart Client.

#DEFINE CRLF Chr(13)+Chr(10)
User Function Exemplo()
Local aScreenRes := Nil
Local cMensagem := ""
//+----------------------------------------------------------------------------+
//|Exemplifica o uso da

(aviso) Em builds anteriores a 7.00.120420A, a função retorna um array de duas posições com a resolução horizontal e vertical.

(informação) Em builds superiores a 7.00.120420A, a função retorna um array de três posições com a resolução horizontal e vertical do monitor principal e um array de arrays com as posições horizontal e vertical de cada um dos monitores existentes. O terceiro elemento do retorno da função preenche a resolução de cada um dos monitores de acordo com a ordem definida no sistema operacional.

(aviso) No Smartclient Webapp retornará apenas as informações do monitor principal.

Observações

Para uma estação de trabalho com dois monitores de resolução 1280 x 1024.

  • Em builds anteriores a 7.00.120420A, a função retorna o array:

    Sem Formato
     -> ARRAY (    2) [...]
         [1] -> N (   15) [      2560.0000]
         [2] -> N (   15) [      1024.0000]
  • Em builds superiores a 7.00.120420A, a função retorna o array:

    Sem Formato
     -> ARRAY (    3) [...]
         [1] -> N (   15) [      1280.0000]
         [2] -> N (   15) [      1024.0000]
         [3] -> ARRAY (    2) [...]
    
função GetScreenRes
  •           [3][1] -> ARRAY (    2) [...]
                   
|
//+----------------------------------------------------------------------------+  
aScreenRes := GetScreenRes()
cMensagem += "Horizontal: " + cValToChar(aScreenRes[1]) + CRLF
cMensagem += "Vertical: " + cValToChar(aScreenRes[2])
//+----------------------------------------------------------------------------+
//|Apresenta uma mensagem com os resultados obtidos
  • [3][1][1] -> N (   15) [      1280.0000]
                   [3][1][2] -> N (   15) [      1024.0000]
              [3][2] -> ARRAY (    2) [...]
                   [3][2][1] -> N (   15) [      1280.0000]
                   
|
//+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do GetScreenRes")
Exemplo da função GetScreenRes
Image Removed

Observação:

Em builds superiores à 120420A foi implementada uma melhoria para retorno da resolução de múltiplos monitores, preenchendo esta informação à partir de um terceiro elemento no vetor de retorno, desta forma não alterando o comportamento original da função.

É importante ressaltar que caso os monitores estejam invertidos, como demonstrado no exemplo abaixo, o vetor respeitará sempre a ordem definida no sistema operacional, neste caso Windows.
Ainda neste exemplo, caso o monitor principal seja o direito e haja intenção de apresentar a Janela (TWindow/TDialog) no monitor esquerdo, será necessário definir uma posição(Left) negativa.Image Removed 

 

 

  • [3][2][2] -> N (   15) [      1024.0000]

Exemplo

Bloco de código
user function exemplo()
local aScreens := getScreenRes()
  msginfo(cValToChar(aScreens[1])+"x"+cValToChar(aScreens[2]), "getScreenRes()")
return
Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server