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: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 401
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr
Curtiram: 1 vez

Usar GTWVG

Mensagem por deividdjs »

Boa noite prezados...

Alguem tem um guia / manual da GTWVG ??

Saludos,

Deivid Souza
Saludos,
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 401
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr
Curtiram: 1 vez

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 !
Saludos,
Deivid José de Souza
Windows 11 + Harbour 3.4 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
hwgui 2.23 b8
Responder