Usar GTWVG

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

Moderador: Moderadores

Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Usar GTWVG

Mensagem por clodoaldomonteiro »

Bom dia,
Mas ainda assim não funciona, não fica fullscreen, a janela aumenta junto com o tamanho da fonte.
Veja na imagem:
Anexos
Janela GTWVT com tela maximizada, mas não fullscreen
Janela GTWVT com tela maximizada, mas não fullscreen
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Usar GTWVG

Mensagem por clodoaldomonteiro »

Usando a função: wvt_ShowWindow( WIN_SW_MAXIMIZE ), a janela é maximizada e fica fullscreen, porem o cls ou clear só tem alcance na quantidade de linhas e colunas informadas na função SETMODE().
Acho que a solução seria calcular o número de linhas e colunas que a nova janela fullscreen comportaria.

Código: Selecionar todos

PROCEDURE Main

   SetMode( 25, 80 )
   hb_gtInfo( HB_GTI_FONTNAME, "Lucida Console" )
   CLS
   //wvgSetAppWindow():SendMessage( WIN_WM_SYSCOMMAND, WIN_SC_MAXIMIZE, 0 )
   wvt_ShowWindow( WIN_SW_MAXIMIZE )
   cls
   @ 2, 0 TO 5, 10
   Inkey(0)

   RETURN
Anexos
Janela GTWVT, fullscren com SETMODE(25, 80)
Janela GTWVT, fullscren com SETMODE(25, 80)
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Usar GTWVG

Mensagem por JoséQuintas »

clodoaldomonteiro escreveu:o que senti falta agora é de já abrir a janela principal Maximizada e tendo assim o máximo de Row's e Col's para trabalhar as janelas.
Tá confundindo as coisas.
É você que define quantas linhas/colunas vai usar.
A GTWVG ajusta para o maior fonte possível, e deixa a janela de acordo com esse fonte, mesmo que não preencha toda a tela.

Se quiser deferente, dá uma olhada em ResizeMode.
Aí vai ficar com linhas/colunas diferente, conforme o monitor ou tamanho do fonte.
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

Usar GTWVG

Mensagem por JoséQuintas »

40 x 132, tanto faz o tamanho
Nota: 3840 X 2160
tela1.png
tela2.png
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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Usar GTWVG

Mensagem por deividdjs »

Boa noite prezados...

Alguem tem um guia / manual da GTWVG ??

Saludos,

Deivid Souza
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Usar GTWVG

Mensagem por JoséQuintas »

Num primeiro momento é acrescentar gtwvg.hbc na compilação.
Provavelmente vai precisar de uma rotina de erros que salve em disco ao invés de mostrar na tela, porque janela windows se fecha ao finalizar o programa.

1) Funções WVT - o chamado modo CUI
Eu considero mais complicado.
É usar uma rotina WVT_PAINT no aplicativo pra ficar repintando a cada atualização de tela
Por ser rotina única pro aplicativo inteiro, os exemplos mostram como criar um array com comandos, e ficar trocando o array a cada troca de tela
Pra entender melhor: é como se fosse uma rotina rodando a cada 1 segundo pra desenhar na tela o que estiver na lista.
E no fonte precisa controlar aonde foi feito clique do mouse.

2) Controles WVG - API Windows
É no estilo de biblioteca gráfica.
É o contrário do anterior: criou um button, ele vai ficar na tela até o aplicativo terminar ou até que seja removido.
E o mais prático é configurar pro button executar um KEYBOARD, assim seu fonte continua o mesmo de antes.
Importante aqui: biblioteca gráfica utiliza várias janelas. Se usar janelas, ao fechar janela o button será destruído. Se ficar reutilizando a mesma janela, vai destruir manualmente o button. (ou apenas esconder).

Tem lá no programa, pro usuário digitra I, A, E pra inclui, altera, exclui:

Código: Selecionar todos

@ 1, 0 GET cOpcao PICTURE "!A"
READ
Pode criar três buttons, um pra fazer KEYBOARD "I", outro pra "A", outro pra "E".
Se o usuário clicar, seria o mesmo que estar apertando tecla, então não precisaria alterar mais nada no fonte, apenas criar os buttons.

Código: Selecionar todos

btnInclui := CreateButton( 5, 5, 5, 5, "teste", Asc( "T" ) )

Código: Selecionar todos

FUNCTION CreateButton( nRow, nCol, nWidth, nHeight, cText, nKey )

   oControl := wvgPushButton():New()
   oControl:PointerFocus := .F.
   oControl:SetCaption( cText )
   oControl:Activate := { || hb_KeyPut( nKey ) }
   oControl:Create( ,, {-nRow, -nCol },{-nWidth,-Height } )

   RETURN oControl
Depois, se quiser destruir ou outros:

Código: Selecionar todos

btnInclui:Destroy()
btnInclui:Hide()
btnInclui:Show()
btnInclui:Enable()
btnInclui:Disable()
SetCaption() pode ser texto ou imagem, texto+imagem somente se seu EXE usar manifest - coisas da Microsoft.

exemplo pra imagem em resource:

Código: Selecionar todos

   oControl:SetCaption( { , WVG_IMAGE_ICONRESOURCE, cSource } )
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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Usar GTWVG

Mensagem por deividdjs »

JoséQuintas escreveu:Num primeiro momento é acrescentar gtwvg.hbc na compilação.
Provavelmente vai precisar de uma rotina de erros que salve em disco ao invés de mostrar na tela, porque janela windows se fecha ao finalizar o programa.

1) Funções WVT - o chamado modo CUI
Eu considero mais complicado.
É usar uma rotina WVT_PAINT no aplicativo pra ficar repintando a cada atualização de tela
Por ser rotina única pro aplicativo inteiro, os exemplos mostram como criar um array com comandos, e ficar trocando o array a cada troca de tela
Pra entender melhor: é como se fosse uma rotina rodando a cada 1 segundo pra desenhar na tela o que estiver na lista.
E no fonte precisa controlar aonde foi feito clique do mouse.

2) Controles WVG - API Windows
É no estilo de biblioteca gráfica.
É o contrário do anterior: criou um button, ele vai ficar na tela até o aplicativo terminar ou até que seja removido.
E o mais prático é configurar pro button executar um KEYBOARD, assim seu fonte continua o mesmo de antes.
Importante aqui: biblioteca gráfica utiliza várias janelas. Se usar janelas, ao fechar janela o button será destruído. Se ficar reutilizando a mesma janela, vai destruir manualmente o button. (ou apenas esconder).

Tem lá no programa, pro usuário digitra I, A, E pra inclui, altera, exclui:

Código: Selecionar todos

@ 1, 0 GET cOpcao PICTURE "!A"
READ
Pode criar três buttons, um pra fazer KEYBOARD "I", outro pra "A", outro pra "E".
Se o usuário clicar, seria o mesmo que estar apertando tecla, então não precisaria alterar mais nada no fonte, apenas criar os buttons.

Código: Selecionar todos

btnInclui := CreateButton( 5, 5, 5, 5, "teste", Asc( "T" ) )

Código: Selecionar todos

FUNCTION CreateButton( nRow, nCol, nWidth, nHeight, cText, nKey )

   oControl := wvgPushButton():New()
   oControl:PointerFocus := .F.
   oControl:SetCaption( cText )
   oControl:Activate := { || hb_KeyPut( nKey ) }
   oControl:Create( ,, {-nRow, -nCol },{-nWidth,-Height } )

   RETURN oControl
Depois, se quiser destruir ou outros:

Código: Selecionar todos

btnInclui:Destroy()
btnInclui:Hide()
btnInclui:Show()
btnInclui:Enable()
btnInclui:Disable()
SetCaption() pode ser texto ou imagem, texto+imagem somente se seu EXE usar manifest - coisas da Microsoft.

exemplo pra imagem em resource:

Código: Selecionar todos

   oControl:SetCaption( { , WVG_IMAGE_ICONRESOURCE, cSource } )

top Zé .. obrigado pelos exemplo vou começar a brincar um pouco com ela .. . forte abraço !
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Responder