Clipper On Line • Ver Tópico - Tutorial GTWVG

Tutorial GTWVG

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Tutorial GTWVG

Mensagempor JoséQuintas » 20 Jun 2019 20:30

Até agora os fontes foram pequenos, estão nos posts.
Aonde só tem uma parte marcada, é porque trata-se do mesmo fonte anterior, apenas com essa modificação marcada.

Quero destacar uma coisa aqui, no fonte dialog.prg

   IF ::lModal
      ::pGT  := hb_gtCreate( "WGU" )
      ::pGTp := hb_gtSelect( ::pGT )
   ELSE
      hb_gtReload( "WGU" )
      ::pGT := hb_gtSelect()
   ENDIF


Não tenho certeza, mas "acho" que WGU seria a janela GUI, deixa de ser janela "console".
Ela é usada nos exemplos de GTWVG de visualizar PDF, navegar na internet, etc. e janela com browse.

gtwvg.png


Esse é um exemplo interessante.
A janela é GUI, e alguns dos objetos são janelas GTWVG.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 21 Jun 2019 09:52

Por enquanto alguns exemplos que tenho prontos, mas com controles extras.
No Harbour 3.4 seria só juntar os dois fontes que estão na pasta source, pra ter esses recursos.
Só não sei se vão funcionar com Harbour 3.2.

printscreen.png


printscreen.png


printscreen.png


printscreen.png


printscreen.png


printscreen.png


https://github.com/JoseQuintas/wvgtest
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 20:08

A partir daqui faltaram idéias.
Talvez alguém postar um fonte simples que esteja querendo alterar, e sugestões de visual.
Ou talvez vocês imaginem algo totalmente diferente, achando que precisa muita coisa.

Que tal um preview de impressão pra texto?
O que vamos precisar?
Uma toolbar?
Porque não o button, que já vimos antes? já mostrei até fonte criando vários buttons, só organizá-los.

cidades.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 20:17

Mensagem sim ou não do Windows.
Será que dá pra fazer mais interessante com GTWVG?
Ou mais: será que dá pra fazer isso só com o pouco que vimos aqui, o button?

teste.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 20:32

Fico atentado a usar meus controles.... kkkk
Um básico.

prototipo.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 20:38

O button do José

button.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 20:59

Usando um controle pro texto

wvg2.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 21:03

Não se enganem.
O texto dessa tela também é uma outra janela - transparente - um outro objeto.
É assim em GUI.
(Também não faz parte da WVG esse controle, mas faz parte do WINDOWS)

texto.png
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 21:50

É tudo coisa criada só pra postar, sem nenhum tratamento especial.
Sinceramente... imaginem o digitador que nem olha pra tela... será que a tela faz diferença pra ele?

Talvez pro gerente, que vai analisar gráficos, e vai ter tempo de usar o mouse, mas ele dificilmente vai digitar muita coisa.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 21:54

O fonte pra curiosidade:

#include "inkey.ch"

PROCEDURE Main

   LOCAL oThis

   SetMode( 40, 100 )
   SetColor( "W/B" )
   CLS
   SetColor( "N/R" )
   @ 12, 20 CLEAR TO 22, 60
   SetColor( "W/N" )
   MyButton( 19, 21, 3, 11, "d:\cdrom\fontes\integra\ico\icocheckmark.ico", "Sim" )
   MyButton( 19, 46, 3, 11, "d:\cdrom\fontes\integra\ico\xokdelete.ico", "Nao" )

   oThis := wvgTstText():New()
   oThis:cFontName := "Arial"
   oThis:nFontSize := 70
   oThis:cText := "Deseja sair do sistema?"
   oThis:Create( , , { -13, -23 }, { -6, -35 } )

   Inkey(0)

   RETURN

FUNCTION MyButton( nTop, nLeft, nHeight, nWidth, cFile, cText )

   LOCAL oThis

   oThis := wvgtstPushButton():New()
   oThis:PointerFocus := .F.
   oThis:nImageAlignment := BS_RIGHT
   oThis:Caption := cText
   oThis:oImage := { , WVG_IMAGE_ICONFILE, cFile }
   oThis:Create( , , { -nTop, -nLeft }, { -nHeight, -nWidth } )

   RETURN oThis

FUNCTION AppVersaoExe()

   RETURN ""


Se quiserem compilar com Harbour 3.4, é copiar os 2 fontes do GitHub, ou de josequintas, ou de wvgtest, ou pra quem baixou a lib, só compilar acrescentando josequintas.hbc

a função AppVersaoExe() é exigência da minha errorsys, está aí só de tapa-buraco.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 12 Jul 2019 21:59

Ah sim... estamos falando de Harbour....

Também é válido isto:

   oThis := wvgtstPushButton():New()
   WITH OBJECT oThis
      :PointerFocus := .F.
      :nImageAlignment := BS_RIGHT
      :Caption := cText
      :oImage := { , WVG_IMAGE_ICONFILE, cFile }
      :Create( , , { -nTop, -nLeft }, { -nHeight, -nWidth } )
   END WITH


Usando WITH OBJECT, o fonte fica mais "bonitinho"... não.. não é isso... o fonte fica mais legível, menos poluição na hora de fazer manutenção.
E não tem como errar a digitação do nome, porque não precisa do nome

Pois é... muita coisa pra melhorar o fonte a gente considera/considerava que era só pra deixar bonitinho....
Na prática é pra deixar o fonte mais "humano", mais prático pra gente mexer, e pra ter menos trabalho depois.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor GilmarDalantonia » 31 Jul 2019 15:15

Boa tarde José Quintas... parabéns por estas postagens, eu estava a muito tempo com um problema no meu sistema, onde qdo minimizava o sistema ou abria um outro aplicativo e ele ficava em segundo plano... a imagem de fundo sumia... com essas informações parou de sumir... mas esta ocorrendo um problema qdo clico em uma opção pra abrir outra janela... a imagem de fundo fica se repitindo
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Tutorial GTWVG

Mensagempor GilmarDalantonia » 31 Jul 2019 15:16

Esqueci de um detalhe, estou usando FUNCTION WVT_Paint()
GilmarDalantonia
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 40
Data de registro: 11 Dez 2014 15:42
Cidade/Estado: Adamantina/SP
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Tutorial GTWVG

Mensagempor JoséQuintas » 31 Jul 2019 18:02

Então... wvt_Paint() é uma rotina que é executada SEMPRE que há mudança de tela, SAY/GET, maximizar, minimizar, mover janela, trocar entre uma janela e outra, etc. etc.
Nos exemplos da GTWVG existe um array em wvt_Paint(), e esse array é salvo/restaurado a cada troca de janela, se não me engano com uma função que foi criada.

Algo do tipo:
aAnterior := SetPaint()
SetPaint( aNovoArray )
....
SetPaint( aAnterior )


Acaba funcionando como se fosse o SAVE SCREEN/RESTORE SCREEN, mas pra parte gráfica.
Se não mexer nesse array, toda parte gráfica vai sendo repetida em toda janela que for aberta.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Tutorial GTWVG

Mensagempor JoséQuintas » 31 Jul 2019 18:11

NÃO USO wvt_Paint.

THREAD STATIC aArray := {}


Uma coisa interessante em trabalhar com multithread, é que só de declarar a variável assim, cada thread acaba tendo seu próprio array pra função wvt_Paint() - isso reduziria muito isso de controlar o array.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 11906
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 12 vezes
Mens.Curtidas: 759 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 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
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro