Clipper On Line • Ver Tópico - GTWVG - Expandir a tela para Área do Desktop

GTWVG - Expandir a tela para Área do Desktop

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

GTWVG - Expandir a tela para Área do Desktop

Mensagempor asimoes » 20 Dez 2015 16:41

Prezados,

Tem como expandir a tela de um sistema compilador com harbour 3.4 para "desktop area" usando GTWVG?

Só estou conseguindo com o GT GTWVT
Ex.:

Screen Shot 12-20-15 at 05.38 PM.PNG
Com REQUEST HB_GT_WVT_DEFAULT


win7DesktopDesktop_JB2.png
Exemplo 2
►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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor Jairo Maia » 20 Dez 2015 19:16

Olá Alexandre,

Essa também é uma coisa que persigo há algum tempo com a WVG. Uso uma "gambiarra", e ajusto a medida que vai surgindo novas resoluções. Veja se esse exemplo simples ajuda em algo:
/*
  Compilar usando hbmk2 exemplo.prg -gtwvg -gui
*/

//#include "wvtwin.ch"   // acho que em 3.4 é "wvtwin.ch"
#include "hbgtinfo.ch"

Function Main()

Clear Screen

Wvt_SetGui( .t. )

SetMode( 28, 91 )  // ajuste aqui a melhor resolução

SetColor( "GR+/N" )
DispBox( 0, 0, MaxRow(), MaxCol(), Nil )
ConfTela()

Inkey(0)

Return Nil

Func ConfTela()  // ajusta tamanho da tela

Local nWidth := Hb_GtInfo(HB_GTI_DESKTOPWIDTH)
Local nHeight := Hb_GtInfo(HB_GTI_DESKTOPHEIGHT)

If nWidth = 1024 .And. nHeight = 768
  Wvt_SetFont( "Lucida Console", 28, 12, 0 )

ElseIf nWidth = 1152 .And. nHeight = 864
  Wvt_SetFont( "Lucida Console", 31, 13, 0 )

ElseIf nWidth = 1280 .And. nHeight = 600
  Wvt_SetFont( "Lucida Console", 21, 15, 0 )

ElseIf nWidth = 1280 .And. nHeight = 720
  Wvt_SetFont( "Lucida Console", 26, 15, 0 )

ElseIf nWidth = 1280 .And. nHeight = 768
  Wvt_SetFont( "Lucida Console", 28, 15, 0 )

ElseIf nWidth = 1280 .And. nHeight = 960
  Wvt_SetFont( "Lucida Console", 35, 15, 0 )

ElseIf nWidth = 1280 .And. nHeight = 1024
  Wvt_SetFont( "Lucida Console", 38, 15, 0 )

ElseIf nWidth = 1400 .And. nHeight = 1050
  Wvt_SetFont( "Lucida Console", 39, 16, 0 )

Else  // se nenhuma anterior, seta padrao
  Wvt_SetFont( "Lucida Console", 28, 12, 0 )
EndIf

Wvt_Maximize()

Return Nil
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:00

Eu uso só a função que postei GTSetupFont().
Quem decide depois é o usuário. Acho que assim fica simples e prático.
Do jeito que ele deixar, é do jeito que volta, só vai precisar do mouse pra isso.

Uma coisa da GTWVG é a seguinte:
Se estiver configurado pra alguma coisa que não cabe na tela, ela reseta para a configuração padrão.

Talvez tenha uma gabiarra mais simples:
Fazer um cálculo direto dividindo a resolução pelas linhas/colunas pra chegar no tamanho do fonte.

E tem o detalhe que mencionei em outro post: tem a hora certa pra alterar a configuração, não pode ser em qualquer hora.
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:18

Ou um jeito relativamente simples:

   hb_gtInfo( HB_GTI_MAXIMIZED, .T. )


Com isso o usuário pode clicar no maximizar.
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:21

Sobre o tópico:

Não sei se é boa idéia cobrir o iniciar do Windows.
Se for o caso, talvez configurar o Windows pra "ocultar a barra de ferramentas automaticamente".
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor Jairo Maia » 20 Dez 2015 20:24

JoséQuintas escreveu:Ou um jeito relativamente simples: hb_gtInfo( HB_GTI_MAXIMIZED, .T. ) Com isso o usuário pode clicar no maximizar.
Sim José, mas a questão é como iniciar o sistema em tela cheia com WVG sem interferência do usuário.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

GTWVG - Expandir a tela para Área do Desktop

Mensagempor Jairo Maia » 20 Dez 2015 20:28

JoséQuintas escreveu:Não sei se é boa idéia cobrir o iniciar do Windows.
Mas a idéia não é essa. É obter um efeito idêntico ao da GTWVT usando o comando que você colocou acima. Com GTWVT funciona, mas com GTWVG não funciona. A idéia é fazer a tela tomar a área do DeskTop, ficando a barra do Windows disponível (como com GTWVT).
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:35

Tentei por API, altera a janela mas não altera o conteúdo.

   wapi_ShowWindow( wvgSetAppWindow():hWnd, SW_SHOWMAXIMIZED )


Talvez se conseguir enviar a "mensagem" pelo Windows, pra maximizar.
Vou testar mais algumas coisas.
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:40

aqui foi:

PROCEDURE Main
   SetMode(30,100)
   SetColor("W/B")
   CLS
   wvgSetAppWindow():sendMessage( WIN_WM_SYSCOMMAND, WIN_SC_MAXIMIZE, 0 )
   @ 12, 30 SAY "OLA"
   Inkey(0)
   RETURN
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:47

Só como anotação de como cheguei nisso:
Primeiro pesquisei API do WIndows no google... rs
Depois pesquisei MAXIMIZE nos fontes da gtwvg e apareceu isso.
Como sendmessage está com indicação de função interna ::SendMessage, testei direto na janela da GTWVG wvgSetAppWindow():SendMessage() e deu certo.
Tem horas que é no chute... baseado em alguma coisa... rs

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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 20:54

Só um detalhe, que consta em hbgtinfo.ch

#define HB_GTI_ALTENTER         62  /* Toggles Alt+Enter as full screen switch (supported by: GTWVT) */
#define HB_GTI_ISFULLSCREEN     63  /* Is the GT windows using the full physical display? (supported by: GTWIN, GTWVT) */
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 21:01

Quanto à gtwvg usar toda tela, o ajuste automático dela não deixa, porque sempre que vai ultrapassar um limite ela retorna ao default.
Mesmo ocultando a barra do iniciar.

iniciar.png


Só resta tentar encontrar aonde desativar o ajuste automático, e deixar totalmente manual.

No meu caso deixo como falei, porque os usuários sempre tem mais aplicativos em uso.
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 21:32

Acho que a solução disso estaria por aqui:

static HB_BOOL hb_gt_wvt_FitSize( PHB_GTWVT pWVT )


nesta parte

   if( pWVT->bMaximized )
   {
      if( ! SystemParametersInfo( SPI_GETWORKAREA, 0, &wi, 0 ) )
         return HB_FALSE;

      maxHeight = wi.bottom - wi.top - borderHeight;
      maxWidth  = wi.right - wi.left - borderWidth;

      left = 0;
      top  = 0;
   }


Isso fica em gtwvgd.c

Um primeiro teste seria retirar essa subtração de borda.
Não sei se essa borda é a borda da janela, ou se é justamente a borda do desktop.
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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 21:47

O que eu tentei mexer foi no espacejamento vertical do texto.
Até consegui o espacejamento, mas....

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

GTWVG - Expandir a tela para Área do Desktop

Mensagempor JoséQuintas » 20 Dez 2015 21:59

Sobre o espacejamento, tentei há dois anos atrás, mas para manter compatibilidade com outras GTs... NÃO
Não sei exatamente que compatibilidade é essa.

It is possible only if we want to compromise the compatibility with other GTs
and also rewrite the whole engine. So my answer is NO.


https://groups.google.com/forum/#!topic/harbour-users/0RhvPGGJqts

Talvez ocupar toda a tela não seja algo que cause compatibilidade, e o Pritpal possa fazer.

Fiz testes aqui mas não foi.

Essa é a parte chata.
Todos os fontes na mão, mas alterar aonde?
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

Próximo



Retornar para Harbour

Quem está online

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