× Linguagem de Programação ADVPL

Perguntas Ajuda com MsObjGetPos

Mais
10 anos 2 meses atrás #24729 por inocenciojr
Respondido por inocenciojr no tópico Ajuda com MsObjGetPos
Bom dia Anderson,

Valeu pela ajuda. Não resolveu meu problema mas já ajudou bastante.
Bolei um "ajuste técnico" que deve dar.
Agora sabe me dizer se tem alguma função para descobrir se o monitor é Flat (aqueles quadrados) ou se é Wide?! Pois a função que passou pega a resolução, mas mesmo com a resolução igual nos 2 monitores diferentes fica fora em um e não fica no outro.

Obrigado

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24791 por AndersonBR
Respondido por AndersonBR no tópico Ajuda com MsObjGetPos
Bom Dia Inocencio,

veja se essa te ajuda: tdn.totvs.com/display/tec/GetScreenRes

Ela não retorna o tipo do monitor mas a resolução vertical e horizontal, dei uma pesquisada e não achei nada a respeito no TDN viu!

Mas pelo retorno dessa ja da pra ter uma noção, vou fazer alguns testes aqui e se der certo te passo o fonte. Abraço. Boa semana!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás - 10 anos 2 meses atrás #24804 por inocenciojr
Respondido por inocenciojr no tópico Ajuda com MsObjGetPos
Boa tarde Anderson,

Obrigado pela ajuda. Com isso consegui resolver o problema.

Valido a resolução com esta função que passou e consegui ajustar a tela.

Acabou por ficar a assim a função que me passou antes
Static Function D(nTam)	//	QDO TELA Eh DESENVOLVIDA COM RESOLUCAO 960
//***********************************************************************
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Ajusta Tamanho dos Objetos            ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Local nHRes    := oMainWnd:nClientWidth			// Resolucao horizontal do monitor
Local aScreens := getScreenRes()				// Resolucao do monitor em array

If aScreens [2] < 769
	If nHRes == 640                            	// Resolucao 640x480 (soh o Ocean e o Classic aceitam 640)
		nTam /= 1.02
	ElseIf (nHRes == 798).Or.(nHRes == 800)    	// Resolucao 800x600
		nTam /= 1.02
	EndIf
EndIf

If aScreens [2] >768
	nTam *= 1.28
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Tratamento para tema "Flat"³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
If "MP8" $ oApp:cVersion .Or. '10' $ cVersao //.OR. '11' $ cVersao
	If (Alltrim(GetTheme()) == "FLAT") .Or. SetMdiChild()
		nTam /= 1.04
		If nTam > aSize[5]
			nTam := aSize[5]
		EndIf
	EndIf
EndIf
Return Int(nTam)
Ultima edição: 10 anos 2 meses atrás por inocenciojr.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 2 meses atrás #24806 por AndersonBR
Respondido por AndersonBR no tópico Ajuda com MsObjGetPos
Opa que legal, que bom que deu certo, estou copiando a função OK!

[].s

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.153 segundos
Joomla templates by a4joomla