Clipper On Line • Ver Tópico - HMG 3.4.4 - Auto Ajuste de várias telas e componentes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor luiz antonio da silva » 13 Ago 2017 15:56

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
Anexos
testes.zip
Projeto com HMG 3.4.4 UNICODE/ANSI
(37.93 KiB) Baixado 245 vezes
HMG 3.4.4 - SQL SERVER - ORACLE
luiz antonio da silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 161
Data de registro: 21 Nov 2006 21:12
Cidade/Estado: serrana-sp
Curtiu: 13 vezes
Mens.Curtidas: 10 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor NiltonGM » 25 Jan 2018 13:55

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.
Nilton Medeiros
nilton@sistrom.com.br
Avatar de usuário

NiltonGM
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 393
Data de registro: 05 Jun 2014 23:47
Cidade/Estado: Caieiras/SP
Curtiu: 249 vezes
Mens.Curtidas: 24 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor microvolution » 31 Jan 2018 20:19

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?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor JoséQuintas » 31 Jan 2018 21:28

Legal.
Uma rotina que dá pra usar um recurso que só o Harbour tem !!!
Já testei aqui e funciona.

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....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor JoséQuintas » 31 Jan 2018 21:43

e descobri coisa nova no fonte, não sei se foi proposital

               IF hwnd,_HMG_SYSDATA[4][K] > 0


IF 5, 4 > 3
   ? "os dois são maiores"
ENDIF
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor microvolution » 01 Fev 2018 19:31

show show
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor microvolution » 13 Fev 2018 20:48

gente acabei de testar!
que perfeição do AUTO ajuste viu!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor luiz antonio da silva » 21 Fev 2018 08:17

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 - SQL SERVER - ORACLE
luiz antonio da silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 161
Data de registro: 21 Nov 2006 21:12
Cidade/Estado: serrana-sp
Curtiu: 13 vezes
Mens.Curtidas: 10 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor asimoes » 21 Fev 2018 11:05

Offtopic: Voltando ao assunto, achei curioso isso:

Compila, mas dá o seguinte erro na execução: Erro nos parƒmetros: =
IF 5, 4 = .T.
   ? "Estranho"
ENDIF
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor JoséQuintas » 21 Fev 2018 11:08

Tá comparando número com verdadeiro/falso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor asimoes » 21 Fev 2018 11:19

Sim,

Isso eu entendo perfeitamente, o que não poderia acontecer é a compilação, enfim, esse tipo de erro pode passar por distração.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor JoséQuintas » 21 Fev 2018 11:21

Correção:
Só aceita com -w0 -es0
Xi... perigoso isso.....

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'
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HMG 3.4.4 - Auto Ajuste de várias telas e componentes

Mensagempor luiz antonio da silva » 11 Jul 2018 23:07

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.
Anexos
testes.rar
Auto-Ajuste simplificado
(1.25 MiB) Baixado 178 vezes
HMG 3.4.4 - SQL SERVER - ORACLE
luiz antonio da silva
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 161
Data de registro: 21 Nov 2006 21:12
Cidade/Estado: serrana-sp
Curtiu: 13 vezes
Mens.Curtidas: 10 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro