Página 1 de 1
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 13 Ago 2017 15:56
por luiz antonio da silva
Boa Tarde !
Precisei do recurso de ajustar tela e componentes no sistema que estamos desenvolvendo na empresa que trabalho, recorri ao velho e bom forum, mas o que encontrei foram exemplos para uma unica tela (claro que poderia ser retrabalhado para mais...rs) com tal problema reiniciei um projeto aqui do forum de autoria do Pablo, cheguei no resultado ainda não é 100% o que esperava mas tá funcionando, espero que seja de valia para outros.
Abraço.
Luiz
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 25 Jan 2018 14:55
por NiltonGM
Luiz, ficou muito bom, eu fiz isso uma fez na tela principal para se adequar a uma tela de 15" notebook e de monitores de 23" ou maiores, dá um trabalho da preula.
Abraços.
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 31 Jan 2018 21:19
por microvolution
luiz antonio da silva escreveu:espero que seja de valia para outros.
OLÁ Luiz, não testei ainda, mas, vou testar o mais breve possível, mas, uma pergunta "tola": a compilação é via IDE/HMG?
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 31 Jan 2018 22:28
por JoséQuintas
Legal.
Uma rotina que dá pra usar um recurso que só o Harbour tem !!!
Já testei aqui e funciona.
Código: Selecionar todos
For EACH cType, cName, nNumber IN _HMG_SYSDATA[ 1 ], _HMG_SYSDATA[ 2 ], _HMG_SYSDATA[ 4 ]
k := cType:__EnumIndex
IF nNumber = NWIND
If cName<>"Message" .AND. cType <> "STATUSBAR" .AND. LEN(cName) > 0 .AND. ;
!Empty( cName ) .And. !( cType $ "MENU,HOTKEY,TOOLBAR,MESSAGEBAR,ITEMMESSAGE,TIMER" )
_ctrl:= nNumber
IF getproperty(hwnd,cName,"FONTsize")=0
_fnt:=(100/hd_ini)*10
ELSE
_fnt:=(100/hd_ini)*getproperty(hwnd,cName,"FONTsize")
ENDIF
_row:=(100/hd_ini)*getproperty(hwnd,cName,"row")
_col:=(100/wd_ini)*getproperty(hwnd,cName,"col")
_wid:=(100/wd_ini)*getproperty(hwnd,cName,"width")
_hei:=(100/hd_ini)*getproperty(hwnd,cName,"height")
RT:=AScan(_metrics, { |x| x[2] == k })
if rt==0
AADD(_METRICS,{ hwnd,k,_fnt,_row,_col,_wid,_hei,_ctrl,cName})
endif
ENDIF
Endif
Next
Só achei estranho não aceitar cType:__EnumIndex direto no codeblock....
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 31 Jan 2018 22:43
por JoséQuintas
e descobri coisa nova no fonte, não sei se foi proposital
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 01 Fev 2018 20:31
por microvolution
show show
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 13 Fev 2018 21:48
por microvolution
gente acabei de testar!
que perfeição do AUTO ajuste viu!
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 21 Fev 2018 08:17
por luiz antonio da silva
Bom dia !
Que bom que gostaram, foi preciso usar uma OG (Orientação a Gambiarra...kkkk) pois ainda não sei quais são ou se tem algum _HMG_SYSDATA que me retornaria os controles de uma tela específica dentre várias ativas...mas vamos que vamos...rsrs
* Alguém teria uma lista dos _HMG_SYSDATA e sua funcionalidade ?
Abraço.
Luiz
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 21 Fev 2018 11:05
por asimoes
Offtopic: Voltando ao assunto, achei curioso isso:
Compila, mas dá o seguinte erro na execução: Erro nos parƒmetros: =
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 21 Fev 2018 11:08
por JoséQuintas
Tá comparando número com verdadeiro/falso.
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 21 Fev 2018 11:19
por asimoes
Sim,
Isso eu entendo perfeitamente, o que não poderia acontecer é a compilação, enfim, esse tipo de erro pode passar por distração.
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 21 Fev 2018 11:21
por JoséQuintas
Correção:
Só aceita com -w0 -es0
Xi... perigoso isso.....
Código: Selecionar todos
PROCEDURE Main
IF 3, 4 = 5
? "= 5"
ENDIF
IF 3, 4 != 5
? "!= 5"
ENDIF
IF 3, 4 > 2
? "> 2"
ENDIF
IF 3, 4 > 5
? "> 5"
ENDIF
IF 5, 4 > 3
? "teste"
ENDIF
RETURN
-w0 -es0
d:\temp>test
!= 5
> 2
-w3 -es2
Compiling 'test.prg'...
test.prg(3) Warning W0027 Meaningless use of expression 'Numeric'
test.prg(6) Warning W0027 Meaningless use of expression 'Numeric'
test.prg(9) Warning W0027 Meaningless use of expression 'Numeric'
test.prg(12) Warning W0027 Meaningless use of expression 'Numeric'
test.prg(15) Warning W0027 Meaningless use of expression 'Numeric'
HMG 3.4.4 - Auto Ajuste de várias telas e componentes
Enviado: 11 Jul 2018 23:07
por luiz antonio da silva
Boa Noite !
Terminei algumas atualizações para o Auto-Ajuste, peguei algumas informações da pasta samples e adaptei para tentar simplificar.
segue o exemplo com as telas do primeiro modelo.