Página 5 de 5

Usar GTWVG

Enviado: 29 Out 2019 11:36
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:

Usar GTWVG

Enviado: 29 Out 2019 11:53
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

Usar GTWVG

Enviado: 29 Out 2019 12:16
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.

Usar GTWVG

Enviado: 29 Out 2019 14:38
por JoséQuintas
40 x 132, tanto faz o tamanho
Nota: 3840 X 2160
tela1.png
tela2.png

Usar GTWVG

Enviado: 03 Out 2023 22:56
por deividdjs
Boa noite prezados...

Alguem tem um guia / manual da GTWVG ??

Saludos,

Deivid Souza

Usar GTWVG

Enviado: 04 Out 2023 08:55
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 } )

Usar GTWVG

Enviado: 04 Out 2023 12:50
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 !