Clipper On Line • Ver Tópico - Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

GTWVG com API Windows somente no Harbour.
No Harbouir 3.4 está sendo usado pointer, aonde no 3.2 é numérico.

Moderador: Moderadores

 

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor ANDRIL » 11 Jun 2015 20:01

Estou usando a GTWvG no sistema e estou com problema na definição da fonte. Como uso SETMODE(50,80) a fonte fica meio "achatada" o que torna dificil para o usuário entender. Quando compilado com a GTWvG o atalho do sistema não permite ajustar o tamanho da fonte e largura da janela como nos aplicativos em clipper.
   REQUEST HB_LANG_PT
   REQUEST HB_CODEPAGE_PT850

   REQUEST HB_GT_WVG_DEFAULT
   REQUEST HB_GT_WVT
   REQUEST HB_GT_WIN
   SETMODE(50, 80 )
   Wvt_SetFont( "Lucida",14, 15,30 ) 

! Já tentei diversas combinações umas a tela fica muito pequena, outras come a parte de baixo etc.

No arquivo .hbp uso:
-gtwvg
-gui

Gostaria que pelo menos as letras fossem tipo "negrito" ou conseguir colocar a janela na tela inteira.
Já tentei estes codigos tambem e não ficaram bons:

         nScrWidth := Wvt_GetScreenWidth()
         if     nScrWidth >= 1280
            nSize := 28
         elseif nScrWidth >= 1200
            nSize := 22
         elseif nScrWidth >= 1000
            nSize := 18
         elseif nScrWidth >= 800
            nSize := 16
         else
            nSize := 15
         endif
        Wvt_SetFont( "Lucida",nSize, 15,30 ) 


Já tentei usar em tela inteira com o código abaixo, porem é incompativel com SETMODE(50,80) ficando uns buracos na tela. Esse código foi sugerido aqui mesmo no forum:
HB_GtInfo( HB_GTI_ISFULLSCREEN, .F. ) 
HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. )


Então recorro aos colegas mais experientes para tentar solucionar esta questão.
Ate+

Editei a mensagem pois tinha colocado SETPOS em vez de SETMODE que é o correto.
Anexos
cso_letra_achatada.jpg
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor JoséQuintas » 12 Jun 2015 02:52

O ajuste do fonte na GTWVG é sempre automático, conforme o tamanho da janela.
Caso queira, pode selecionar um fonte diferente - mas fonte e não tamanho.

A única coisa que acrescentei foi salvar/restaurar a última configuração.
De qualquer jeito, na primeira vez entra a default, e o usuário altera o tamanho da janela do jeito que quiser.
Nas próximas, abre do jeito que o usuário deixar.

Testa aí a fonte default que uso:

SetMode( 40, 80 )
hb_GtInfo( HB_GTI_FONTNAME, "Lucida Console" )
CLS


Além disso, não adianta querer configurar tela quadrada pra Widescreen, que com certeza vai ficar achatado ao maximizar.
Aqui uso 40 X 132, o que facilita relatório matricial em vídeo, e visualizar textos de log.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor JoséQuintas » 12 Jun 2015 03:08

A mesma tela, em meus 3 monitores.
Se for aproveitar o espaço da tela, com linhas/colunas fixas, não tem como não deformar.

Nota: o print-screen pega os 3 monitores juntos, como se fossem um só, então o printscreen acrescenta espaços adicionais.
Anexos
gtwvg.png
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor JoséQuintas » 12 Jun 2015 03:20

Só faltou finalizar:
Deixa como está, talvez escolhendo outro fonte, e acrescenta opção de salvar/restaurar automático.
Basta o usuário escolher do jeito que quiser e pronto, inclusive maximizado.

E de preferência, deixe a tela do sistema retangular, pra widescreen, que é a mais comum.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor ANDRIL » 12 Jun 2015 07:52

José, obrigado por responder. Após postar, fiquei testando a fonte "Consolas" e ficou com um tamanho bom e legível. Mais segui sua dica "Lucida Console" por que achei que fica muito semelhante a tela inteira.

Vou colocar em produção a nova versão e ver como se adapta a cada cliente.
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor JoséQuintas » 13 Jun 2015 21:55

Esta foi a única rotina adicional que criei, pra salvar/restaurar a última configuração.
Altere para seu nome, pra não ficar como "JPA Tecnologia"
E se quiser, altere também os nomes FontSize, FontWidth e FontWeight.

Chama normal na entrada do aplicativo, e na saída passa o parâmetro .T. pra salvar.

A partir daí, nunca mais precisa se preocupar com monitor, o usuário vai deixar do jeito que quiser na máquina dele.

Atenção à sequência:
   IF lVisible
      SetMode( 40, 132 )
      GtSetupFont()
      // GtSetupPalette() // conjunto de cores diferentes do padrão
      CLS
   ENDIF


// GTSetupFont()           // usa última configuração válida
// GTSetupFont( .T. )    // salva configuração atual

FUNCTION GtSetupFont( lSave )
   LOCAL cFontSize, cFontWidth, cFontWeight, cRootKey

   lSave := iif( lSave == NIL, .F., lSave )
   cRootKey := "HKCU\Software\JPA Tecnologia\"
   IF lSave
      Win_RegWrite( cRootKey + "FontSize", LTrim( Str( HB_GtInfo( HB_GTI_FONTSIZE ) ) ) )
      Win_RegWrite( cRootKey + "FontWidth", LTrim( Str( HB_GtInfo( HB_GTI_FONTWIDTH ) ) ) )
      Win_RegWrite( cRootKey + "FontWeight", LTrim( Str( HB_GtInfo( HB_GTI_FONTWEIGHT ) ) ) )
   ELSE
      hb_GtInfo( HB_GTI_FONTNAME, "Lucida Console" )
      IF Win_RegRead( cRootKey + "FontSize" ) != NIL
         cFontSize   := Win_RegRead( cRootKey + "FontSize" )
         cFontWidth  := Win_RegRead( cRootKey + "FontWidth" )
         cFontWeight := Win_RegRead( cRootKey + "FontWeight" )
         IF Val( cFontSize ) > 0 .AND. Val( cFontWidth ) > 0 .AND. Val( cFontWeight ) > 0
            hb_gtInfo( HB_GTI_FONTSIZE, Val( cFontSize ) )
            hb_gtInfo( HB_GTI_FONTWIDTH, Val( cFontWidth ) )
            hb_gtInfo( HB_GTI_FONTWEIGHT, Val( cFontWeight ) )
         ENDIF
      ENDIF
   ENDIF
   RETURN NIL
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor syslink » 23 Fev 2018 14:47

tem alguma função que faz uma verificação se existe uma fonte instalada no windows?
syslink
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 132
Data de registro: 20 Fev 2018 13:13
Cidade/Estado: joinvile/sc
Curtiu: 3 vezes
Mens.Curtidas: 3 vezes

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor microvolution » 23 Fev 2018 15:11

eu tentei usar assim:
   if WvgFont("VisualLib")
      Wvt_SetFont( "visualLib", 28, 12, 0 )
   else
      Wvt_SetFont( "Lucida Console", 28, 12, 0 )
   endif

Mas não dá certo. então "comentei" essas linhas pra num futuro descobrir da lista de funções que manipulam fonte na gtwvg.
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

Ajuda para definir fonte na GTWvG com uso SETMODE(50,80)

Mensagempor JoséQuintas » 25 Fev 2018 06:54

Talvez isto

? hb_gtInfo( HB_GTI_FONTNAME, "Lucida Console" )


Ou talvez isto

hb_gtInfo( HB_GTI_FONTNAME, "Lucida Console" )
IF hb_gtInfo( HB_GTI_FONTNAME ) != "Lucida Console" )
? "Fonte não trocado"
ENDIF


A mesma função do post de 2015.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para GTWVG

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 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