Á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

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

Inclusão de trecho
SmartClient
SmartClient
nopaneltrue
.


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.

(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) [...]
    

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 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