Clipper On Line • Ver Tópico - Funcionamento GUI

Funcionamento GUI

Outras bibliotecas visuais e IDEs para Harbour/xHarbour (xHGTK/HbWxW/GtWvT/GtWvW/WvWtools.etc)

Moderador: Moderadores

 

Funcionamento GUI

Mensagempor JoséQuintas » 15 Out 2020 11:53

Esta aqui é pra quem usa console.
Quem usa GUI não quer saber disso, quase sempre finge que não sabe, ou não sabe, ou sei lá o que acontece...

Pense numa imagem:
Você pode usar uma imagem pronta, você pode pegar uma imagem e modificar para seu uso, você pode criar sua própria imagem partindo da combinação de outras imagens, ou pode desenhar sua imagem "a mão" do jeito que quiser.

Assim são os controles de libs gui.
Só que além de imagem, eles podem conter rotinas pra facilitar o manuseio dos controles, ou até sua "pintura".

Sabe aquilo do button mudar de cor quando passa o mouse por cima?
Pensa que é mágica?
Não. O Windows fica acompanhando o mouse, e avisa ao programa quando e onde está o foco do mouse.
O programa por sua vez, vai repassando as mensagens pra suas janelas internas, até chegar ao button, à rotina do button.
O button tem lá rotinas pra quando recebe o foco, ou pra quando perde o foco, é onde as rotinas trocam a imagem do button, e a sensação é que o button fez tudo sozinho.

De certa forma, isso é multithread, ou multitarefa que seja, porque tem lá o Windows rodando, e seu programa também, para que tudo funcione.

E pelo mesmo motivo, seu programa pode fazer mais coisas por vez.
Clica no button, o Windows avisa o programa, e o programa executa alguma rotina.
Se clicar em vários buttons, o Windows avisa o programa, e de repente podem existir 10 rotinas executando ao mesmo tempo.
Acho que isso significa multitarefa.
E por causa disso é que, por exemplo, num cadastro onde é clicado INCLUIR, geralmente precisa desativar buttons que possam atrapalhar essa inclusão - não pode deixar que o usuário clique em outra coisa durante a inclusão.

Então....
Muita coisa acontece "por trás das câmeras".
É aí que entra o gerenciamento do Windows em conjunto com o aplicativo/lib gráfica.

E aí? Como avaliar uma LIB gráfica???
Complicado isso, ainda mais que cada um pode ter seu próprio critério.

Tem quem vai querer tudo pronto, então vai preferir uma lib com mais controles prontos.
Tem quem vai querer controles flexíveis, assim pode fazer modificações no que já existe.
Tem quem pode querer criar seus próprios controles.

E mesmo nisso, dá pra sub-dividir em
alterar os fontes da lib, pra deixar novos controles prontos
alterar os fontes da lib, pra deixar os controles existentes mais flexíveis
criar controles nos fontes do aplicativo
e outras opções, mas que de um modo geral, estão relacionadas

Mas no final, tudo isso tem um ponto em comum: tudo está relacionado a desenhar imagens, não importa se é um único pixel ou vários pixels.

O resto... lógico, tem questão técnica sobre velocidade de atualização, sobre aproveitar ao máximo a otimização do Windows em atualizar imagens, etc.

Pois é.... mas aqui no fórum, parece que nada disso importa quando se fala em GUI.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor sygecom » 15 Out 2020 13:40

Zé,
Se você der ouvidos a tudo que se diz, você não sai do lugar, pelo menos comigo foi assim. Fiz o dever de casa que é o que você está fazendo já faz um bom tempo, testa tudo que tem disponível, aponta a mira para o melhor que consegue usar no seu ambiente e segue em frente. Até mesmo por que cada um sabe o que melhor se encaixa no seu dia a dia.

Eu comecei usando FIVEWIN tive problemas, ai mudei para GTWTV, depois fui para WVWTOOLS e por fim me achei na Hwgui e, quero ainda migrar para QT, então isso não para mesmo, é eterno kkkkkk

Em fim, sejamos livre para seguir com o que desejar e, mesmo assim se podermos ajudar os colegas no ambiente que eles vivem vamos tentar.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7006
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 16 Out 2020 15:16

Parece piada, mas o problema maior da GTWVG é:

Precisa entender o funcionamento básico de GUI.
E nem quem usa GUI não entendeu isso direito, quanto mais quem usa console.

Como eu disse, parece piada, mas é sério.
Tem parte que só enxerguei este ano, há pouquíssimo tempo.

Pra não mexer com lib GUI... precisa aprender GUI.... e mexer com GUI... não é uma grande piada isso?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 16 Out 2020 15:54

Meu grande erro até este ano foi o seguinte:

De certa forma, a GTWVG vinculou o uso de janelas não-modal ao uso multithread - apenas janelas não-modal.
Se você quiser duas janelas funcionando independentes, cada uma precisa estar numa thread, isso equivale a dois programas rodando ao mesmo tempo.
É isso que já faço desde o começo, cada módulo é uma janela.
Isso facilitou o uso de recursos gráficos.

Não fiz nenhum outro tipo de divisão, ou uso de recurso, porque complicaria usar recursos ou complicaria usar multithread pra tudo que é janela. Com MySQL pode até facilitar isso, mas não é essa a questão.

Janela MODAL.
Foi isso que descobri este ano.
A parte de programação fica presa, no modo tradicional, mas a parte gráfica fica livre.
NENHUM exemplo da GTWVG trata isso, pelo contrário, prende mais ainda, e complica mais ainda.

Como os exemplos da GTWVG foram a base pro meu começo... e não mexi mais com isso....
Só vi isso agora, quando estava testando hwgui, e acabei montando um exemplo da GTWVG pro Itamar, com esse recurso que eu não tinha usado antes.
Isso era o que faltava !!! Usar várias janelas MESMO, pra tudo !!!
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor Nascimento » 16 Out 2020 16:00

sygecom escreveu:Zé,
Se você der ouvidos a tudo que se diz, você não sai do lugar, pelo menos comigo foi assim. Fiz o dever de casa que é o que você está fazendo já faz um bom tempo, testa tudo que tem disponível, aponta a mira para o melhor que consegue usar no seu ambiente e segue em frente. Até mesmo por que cada um sabe o que melhor se encaixa no seu dia a dia.

Eu comecei usando FIVEWIN tive problemas, ai mudei para GTWTV, depois fui para WVWTOOLS e por fim me achei na Hwgui e, quero ainda migrar para QT, então isso não para mesmo, é eterno kkkkkk

Em fim, sejamos livre para seguir com o que desejar e, mesmo assim se podermos ajudar os colegas no ambiente que eles vivem vamos tentar.


é o que venho tentando dizer ao amigo quintas , em todos os meus post´s mais ta dificil rsrs
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 16 Out 2020 16:07

Nascimento escreveu:é o que venho tentando dizer ao amigo quintas , em todos os meus post´s mais ta dificil rsrs


Na prática, eu vinha tentando explicar, mas não adiantava.

Mas agora, quem quiser brincar, ou COMPROVAR o que eu sempre disse, tá livre pra fazer isso.
Ainda continua o detalhe da multithread, que depende de como o programador fizer, mas já vai facilitar muito mais.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 16 Out 2020 17:50

Tava aqui pensando.....

Como funciona o combobox?
Alguém pensou nisso?

combobox.png


Eu pensei....
Tem lá a imagem fixa do que está selecionado...
É um textbox com mais a imagem da seta.
Ao clicar... abre uma nova janela com algo parecido com um achoice...

Pois é...
Como eu já disse: tem controle desenhado, tem controle que é uma combinação de controles, etc. etc. e tudo é janela.
Tudo é janela, pode aparecer e sumir a qualquer hora.
Basta avisar ao Windows para que ele redesenhe....

Caracas!!!!! não tinha pensado nisso !!!!
Só percebi agora neste post !!!!

Uma coisa que destacaram muito... é que GUI não tem save/restore screen.

Mas... pera aí.... o Windows ficar restaurando a tela anterior ao eliminar um controle.....
Isso não é o mesmo que um save/restore screen?

Sei lá... isso de GUI deve estar me deixando doido....
Pintar tudo de novo é diferente de salvar/restaurar....
Ah não, em gui a gente só precisa colocar o combobox, não importa que mágica a lib faz...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor MSDN » 16 Out 2020 17:56

Todo mundo queria ir até o Sol, todos tentaram, mas não tinha como !
Ai vieram os portugueses e tiveram a brilhante ideia...." Pois...pois...vamos a noite opaaa "
Agora vai, segura peão !!!
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 16 Out 2020 18:03

MSDN escreveu:Ai vieram os portugueses e tiveram a brilhante ideia...." Pois...pois...vamos a noite opaaa "


Entre não usar recurso, e usar muitos recursos, existem muitas possibilidades.

Só lembrando:
José Maria Cunha Quintas

Hoje em dia criam processo por qualquer coisa.
De quem foi a brilhante idéia de dizer isso pra um filho de portugueses?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor MSDN » 16 Out 2020 18:35

Eu sei que vc é de família de Portugueses, meio dificil não saber né !
Eu sei que te enchendo o saco, mas é que não entendo a lógica de vc explicar algo que todo mundo já sabe.
Não seria mais fácil vc juntar os recursos que precisa, montar o que quer e depois vir aqui mostrar ?
A parte que fica esquisita nas tuas postagens não é sobre GUI, é sobre a forma que vc trata isso, como se a gente estivesse na década de 80 e fosse novidade, entendeu !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 16 Out 2020 19:14

MSDN escreveu:A parte que fica esquisita nas tuas postagens não é sobre GUI, é sobre a forma que vc trata isso, como se a gente estivesse na década de 80 e fosse novidade, entendeu !


Eu já expliquei tudo isso.
Na prática preciso de ajuda, porque não adianta ter recurso se não souber aonde usar.
E a ajuda pode vir tanto de quem já usa GUI, ou de quem usa console.

Deixar "bonitinho" nunca foi meu forte.
Nem mesmo comercializar...
E não adianta querer mudar isso depois de muitos anos...

Talvez este seja meu último trabalho.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor MSDN » 16 Out 2020 20:26

Lendo essa matéria http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1869 , acho que entendi vc Quintas !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 17 Out 2020 20:43

E porque não hbqt?
NÃO confundir com qtcontribs.

Basta compilar e tá pronto.
Alguém lembra que isso existe?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Funcionamento GUI

Mensagempor Vlademiro » 17 Out 2020 20:52

Pensei que fosse a mesma coisa...
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Funcionamento GUI

Mensagempor JoséQuintas » 17 Out 2020 21:18

gtqt.png


Essa faz parte do Harbour.
Seria só compilar e pronto.
Usa recursos a mais se quiser.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Próximo



Retornar para Outras Bibliotecas Visuais e IDEs

Quem está online

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