GTWVG - Expandir a tela para Área do Desktop

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

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GTWVG - Expandir a tela para Área do Desktop

Mensagem por asimoes »

As GT´s trabalham juntas mas com comportamentos diferentes, com HB_GT_WVT nós conseguimos expandir a tela para toda área do desktop sem combrir a barra de tarefas, em compensação não temos o controle do eventos fechar a janela o X da janela que só funciona com HB_GT_WVG

Com a função abaixo eu consigo o efeito de cobrir a área do desktop exceto a barra de tarefas, como a maioria dos sistemas para windows faz, inclusive navegadores como o chrome.
Só que no exemplo abaixo com destaque em vermelho funciona somente com o GT HB_GT_WVG
A minha intenção é usar HB_GT_WVG por ter funções a mais, principalmente com relação ao tema deste tópico.
FUNCTION IniciaJanela

cName:=Upper(hb_GetEnv("temp"))

wapi_GetLongPathName(cName, @cName)

cTituloJanela:="Testar criação de pasta em "+cName
HB_gtInfo(HB_GTI_FONTNAME, "Lucida Console")
HB_gtInfo(HB_GTI_WINTITLE, cTituloJanela)
HB_gtInfo(HB_GTI_ICONFILE, "P:\GERAL\HARBOUR\HARB_WIN.ICO" )
HB_gtInfo(HB_GTI_CLOSABLE, .T. )
HB_gtinfo(HB_GTI_NOTIFIERBLOCKGUI, {|nEvent| MyEvent(nEvent)})
HB_gtInfo(HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED )
HB_GtInfo( HB_GTI_MAXIMIZED, .T. )

RETURN Nil

FUNCTION HB_GTSYS()
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_GT_WVT
REQUEST HB_GT_WGU
REQUEST HB_GT_WVG
RETURN Nil
►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 do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por Jairo Maia »

Olá Pessoal,

A GTWVT é multiplataforma, ou seja, pode ser usada com todas as plataformas suportadas pelo Harbour, enquanto que a GTWVG é somente Windows. Com GTWVT manipular a tela é muito simples. Exemplo:
HB_GtInfo( HB_GTI_MAXIMIZED, .T. ) // se usar esta, teremos a tela WideScreen
HB_GtInfo( HB_GTI_ISFULLSCREEN, .T. ) // se usar esta a tela toda é ocupada, inclusive ocultando a barra de tarefas
NOTA: A WVT não dá suporte a exibição de fotos (gráficos). Já a WVG tem também esse recurso.

Sobre isso:
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.
Só não entendo porque as GTs têm que ser compatíveis entre si.
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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por JoséQuintas »

ASimões, isto simula o efeito de clicar no maximizar.
Comparando, é como se fosse um KEYBOARD "maximizar"

Código: Selecionar todos

wvgSetAppWindow():sendMessage( WIN_WM_SYSCOMMAND, WIN_SC_MAXIMIZE, 0 )

Jairo, na verdade hbgtInfo é uma centralização de tudo, algo como um roteiro a ser seguido.
Só que depende da LIB ser alterada pra isso, pelos seus autores.

Acho que a WVT é só Windows também, e a WVG é feita encima da WVT.
A WVG redimensiona automático sempre que está maior do que a tela. Isso é o que impede o full screen.
No maximizado, sem cobrir o iniciar, tudo bem.
Não é exatamente um limite da LIB, é um limite que foi colocado dentro da lib.

Mas se pensar num usuário que usa skype, por exemplo, é interessante ver o alerta de novas mensagens lá embaixo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por Jairo Maia »

JoséQuintas escreveu:Acho que a WVT é só Windows também
José, a GTWVT é multiplataforma. Pode ser usada tranquilamente no Linux por exemplo. GTWVT foi a primeira, as demais são derivadas dela.

Por outro lado, acompanhamos há algum tempo vários posts do Itamar sobre a GTWIN. Parece que a GTWVG foi descontinuada e estão investindo muito na GTWIN, que inclusive praticamente foi reescrita. Talvez seja o caso de compatibilizar os sistemas para essa GT.

Esta é uma tela de um sistema de frente de caixa de uma loja vizinha aqui. Tem a definição de SetMode( 25,85 ) e funciona muito legal usando a GTWVG:
TelaCheia1.jpg
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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GTWVG - Expandir a tela para Área do Desktop

Mensagem por asimoes »

Quintas,

Eu testei o que você postou, maximiza a tela mas não expande para área do desktop
wvgSetAppWindow():sendMessage( WIN_WM_SYSCOMMAND, WIN_SC_MAXIMIZE, 0 )

Jairo,

O seu último post imagem de um sistema hortifruti parece que usa toda a área do desktop é isso?
►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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por JoséQuintas »

Até onde sei, gtwin é só console.

GTWVG e GTQTC são do mesmo autor, Pritpal Bedi.
Faz bastante tempo que só se dedica à GTQTC.
Talvez nem se lembre mais como funciona a GTWVG.

Lembrei de uma coisa:

Antigamente, quando maximizava a GTWVG a janela ficava maior do que o conteúdo.
Depois foi alterada pra maximizar respeitando o tamanho exigido pelo fonte, nenhum espaço a mais.
Isso foi na época que comecei a usar GTWVG, inclusive acho que foi depois do meu post que foi alterada.
Algo como caber 10 caracteres e meio, e ser ajustada para os 10 caracteres.

Pesquisando no changelog.txt, ou pelo github, talvez dê pra encontrar o que foi alterado e "desalterar" pra fazer um teste.
Já não lembro mais se o problema era somente espaços inúteis ou se causava problemas de alinhamento.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por Jairo Maia »

Olá Pessoal,

José:
JoséQuintas escreveu:Até onde sei, gtwin é só console.
Tenho a impressão que não. Cheguei a fazer alguns testes, mas tinha que alterar algumas coisas para compatibilidade, então deixei para "depois".
JoséQuintas escreveu:GTWVG e GTQTC são do mesmo autor, Pritpal Bedi. Faz bastante tempo que só se dedica à GTQTC. Talvez nem se lembre mais como funciona a GTWVG.
Mas se não estou enganado, o Viktor Szakats é que estava reescrevendo a GTWIN.

Alexandre,
asimoes escreveu:Jairo, O seu último post imagem de um sistema hortifruti parece que usa toda a área do desktop é isso?
Isso mesmo. E em diferentes monitores. Lá são 3 máquinas, todas com monitores LCD. Os dois caixas têm monitor de 14 quadrado, e no escritório (servidor) monitor de 17 WideScreen. Em todos ao abrir o sistema ele inicia como está na imagem postada acima.

Corrigi o exemplo que postei antes. Acho que agora você pode também testar. Se a resolução que você usa não estiver comtemplada na função ConfTela() desse exemplo, coloque-a e por tentativa e erro acerte o tamnho da fonte.

NOTA: Repare que Wvt_SetFont() está duplicado na funçaõ ConfTela(). Isso é preciso para deixar a tela nítida...

NOTA1: Leia os comentarios na função MAIN(). Eles são fundamentais para o teste funcionar:

Código: Selecionar todos

/*
  Compilar usando hbmk2 exemplo.prg -gtwvg -gui
*/

#include "hbgtinfo.ch"

Function Main()

 Clear Screen
 
 HB_GtInfo( HB_GTI_ALTENTER, .F. )   // esta é opcional...
 
 HB_GtInfo( HB_GTI_RESIZABLE, .F. )  // Esta linha é necessária. Sem ela a tela não expande...
 
 Wvt_SetGui( .t. )

 SetMode( 25, 85 )  // ajuste aqui a melhor resolução (uso essa como padrão e funciona)
 
 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 )
  Wvt_SetFont( "Lucida Console", 28, 12, 0 )
 
 ElseIf nWidth = 1152 .And. nHeight = 864
  Wvt_SetFont( "Lucida Console", 31, 13, 0 )
  Wvt_SetFont( "Lucida Console", 31, 13, 0 )

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

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

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

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

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

 ElseIf nWidth = 1400 .And. nHeight = 1050
  Wvt_SetFont( "Lucida Console", 39, 16, 0 )
  Wvt_SetFont( "Lucida Console", 39, 16, 0 )
 
 Else  // se nenhuma anterior, seta padrao
  Wvt_SetFont( "Lucida Console", 28, 12, 0 )
  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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GTWVG - Expandir a tela para Área do Desktop

Mensagem por asimoes »

Compilei o seu exemplo mais não funcionou veja a tela:

Compilado com harbour 3.4
Exemplo Jairo
Exemplo Jairo
►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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GTWVG - Expandir a tela para Área do Desktop

Mensagem por asimoes »

Jairo,

Eu troquei a ordem da chamada da função ConfTela() e funcionou:

Código: Selecionar todos

Function Main()

 Clear Screen
 
 HB_GtInfo( HB_GTI_ALTENTER, .F. )   // esta é opcional...
 
 HB_GtInfo( HB_GTI_RESIZABLE, .F. )  // Esta linha é necessária. Sem ela a tela não expande...
 
 Wvt_SetGui( .t. )

 ConfTela()
 
 SetMode( 25, 80 )  // ajuste aqui a melhor resolução (uso essa como padrão e funciona)
 
 SetColor( "GR+/N" )
 DispBox( 0, 0, MaxRow(), MaxCol(), Nil )
 //ConfTela()
  Inkey(0)

Return Nil
Outra coisa a resolução no meu notebook é:
W=1368 h=768

E a configuração ideal para o fonte foi:
Wvt_SetFont( "Lucida Console", 28, 17, 0 )
Wvt_SetFont( "Lucida Console", 28, 17, 0 )

O Problema disso é esse ajuste, que a GTWVT não precisa.
►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 do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por Jairo Maia »

Legal Alexandre,

Já quebrei muito a cabeça na época que comecei a usar WVG tentando fazer o que o José citou mais atrás nesse tópico, que era buscar uma proporção da fonte calculando com base na resolução da tela. Mas depois de inúmeras tentativas, não consegui fazer com que ficasse automático, e optei por fazer caso a caso.

Na horizontal precisa encontrar o tamanho da fonte ideal para tomar a tela toda. Que bom que funcionou, pena que ainda não dá pra deixar de forma automática, ou seja, ainda não achamos essa solução...
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 do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por Eolo »

Jairo,

Não sei se tem alguma coisa a ver, mas vou arriscar um palpite.

Quando se fala em fonte, não é só o tamanho que manda, mas também largura, altura, espaçamento entre letras etc. Geralmente, a fonte é referenciada só pelo tamanho, e usando só esse parâmetro, acontece o seguinte: se vc mudar um texto de Arial 12 para 16, a fonte vai aumentar no todo, proporcionalmente, na largura, altura, espaço entre letras etc.

Com isso, se vc acertar um texto na vertical com uma fonte 12 e, pra acertar uma sobra de espaço na horizontal, vc aumentar o tamanho pra 16, pode acabar acertando na horizontal, mas vai ferrar a vertical...

Bão, na Win32prn (não sei se tem algo equivalente na LIB gráfica), dá pra definir o TAMANHO da fonte e também a LARGURA dela. Então, se vc imaginar por exemplo a fonte Arial de tamanho 18, e mexer só na largura, vai acontecer o que está na imagem abaixo.

Se a LIB gráfica tiver a opção de tamanho e largura da fonte, e se na hora de fazer o fullscreen ela considera tamanho e largura para definir a área em pixels, valeria a pena dar uma olhada. Quem sabe usar larguras diferentes para a mesma fonte, para saídas 4x3 e 16:9?
oWin32Prn:setFont()
:setFont( <cFontName> , ;
[<nPointSize>] , ;
[<nFontWidth>] , ;
[<nFontWeight>], ;
[<lUnderline>] , ;
[<lItalic>] , ;
[<nCharSet>] ) --> lSuccess

<cFontName>
This is a character string holding the name of the font to select as current. It is case sensitive.
<nPointSize>
This is a numeric value indicating the font size in points. If omitted, a default font size is used.
<nFontWidth>
This can be a numeric value indicating the font width in pixels. If omitted, a default font width is used.
Alternatively, a two element array can be passed. It is used to calculate the font width in the unit "Characters Per Inch" (CPI) by dividing the second element by the first element. For example:
aFontWidth := { 3, 50 }

nCPI := aFontWidth[2]/aFontWidth[1]

? nCPI // 16.67 characters per inch
When the array {0,0} is passed, the default font width is selected.
Note: when the second element contains a negative value, fixed character spacing is enforced, even if the font is a proportional font.
Montei o exemplo no Photoshop (minha impressora abriu o bico!), mas funciona sim no xHarbour / Win32_prn().
Anexos
teste.jpg
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por JoséQuintas »

Depois de escolher a fonte, faz o maximize.

Mas o maximize já não escolhe uma fonte default?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por JoséQuintas »

Testei isto aqui. Somente as duas últimas opções é que funcionaram, apenas maximizando mas deixando o iniciar visível.
Nem fez diferença modificar tamanho de fonte.

Código: Selecionar todos

#include "hbgtinfo.ch"

PROCEDURE Main
   SetMode(25,85)
   SetColor("W/B")
   CLS
   @ 1, 0 SAY "Tecle algo pra configurar"
   Inkey(0)
   ConfTela()
   CLS
   @ 1, 0 SAY "Tecle algo pra maximizar"
   Inkey(0)
   wvt_Maximize()
   @ 1, 0 SAY "Tecle algo para mensagem maximizar"
   Inkey(0)
   CLS
   wvgSetAppWindow():sendMessage( WIN_WM_SYSCOMMAND, WIN_SC_MAXIMIZE, 0 )
   @ 0, 0 TO MaxRow(), MaxCol()
   Inkey(0)
   RETURN

STATIC FUNCTION ConfTela()
   nRows   := MaxRow() + 1
   nCols   := MaxCol() + 1
   nWidth  := hb_GtInfo( HB_GTI_DESKTOPWIDTH )
   nHeight := hb_gtInfo( HB_GTI_DESKTOPHEIGHT )
   wvt_SetFont( "Lucida Console", ( nWidth / nCols ), ( nHeight / nCols ), 0 )
   RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

GTWVG - Expandir a tela para Área do Desktop

Mensagem por JoséQuintas »

A propósito:
Uso a configuração 40 X 132.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

GTWVG - Expandir a tela para Área do Desktop

Mensagem por asimoes »

Apoveitando a idéia do Quintas e alterando a idéia original.

Consegui o efeito desejado, alguém poderia testar este código?

Notem que eu fiz um round e subtrai 4 Round(( nHeight / nRows ),0)-4

wvt_SetFont( "Lucida Console", Round(( nHeight / nRows ),0)-4, Round(( nWidth / nCols ),0), 0 )

Código: Selecionar todos

#include "hbgtinfo.ch"

Function Main()

 Clear Screen
 
 HB_GtInfo( HB_GTI_RESIZABLE, .F. )  // Esta linha é necessária. Sem ela a tela não expande...
 
 SetMode( 25, 80 )

 ConfTela()
 
 ColorWin(00,00,MaxRow(),MaxCol(), "W+/G*")
 
 @ 0, 0 Say "TESTE" COLOR "N/G*"
 
 @ MaxRow()/2,01 Say PADC("TESTE", MaxCol()-1) COLOR "N/G*"
 
 @ MaxRow(), 01 Say "TESTE" COLOR "N/G*"

 Inkey(0)

Return Nil

Func ConfTela()  // ajusta tamanho da tela

 Local nWidth  := Hb_GtInfo(HB_GTI_DESKTOPWIDTH)
 Local nHeight := Hb_GtInfo(HB_GTI_DESKTOPHEIGHT)
 
 nRows   := MaxRow() //+ 1
 nCols   := MaxCol() //+ 1
 nWidth  := hb_GtInfo( HB_GTI_DESKTOPWIDTH )
 nHeight := hb_gtInfo( HB_GTI_DESKTOPHEIGHT )
   
 hb_gtInfo(HB_GTI_CLOSABLE, .T. )
 hb_gtinfo(HB_GTI_NOTIFIERBLOCKGUI, {|nEvent| MyEvent(nEvent)})
 
 wvt_SetFont( "Lucida Console", Round(( nHeight / nRows ),0)-4, Round(( nWidth / nCols ),0), 0 )
 
 Wvt_Maximize()

Return Nil

FUNCTION MyEvent(eSai)
   If eSai==HB_GTE_CLOSE
     cMsg := "Deseja Sair do Programa?"
     aOpc := { "Sim", "Nao" }
     nOp := hb_Alert( cMsg, aOpc)
     If nOp==1
       Quit
     Endif
   Endif
RETURN Nil


FUNCTION HB_GTSYS()
   REQUEST HB_GT_WVG_DEFAULT
   REQUEST HB_GT_WGU
   REQUEST HB_GT_WVG
RETURN Nil 

►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)
Responder