Página 1 de 2

Funcionamento GUI

Enviado: 15 Out 2020 11:53
por JoséQuintas
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.

Funcionamento GUI

Enviado: 15 Out 2020 13:40
por sygecom
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.

Funcionamento GUI

Enviado: 16 Out 2020 15:16
por JoséQuintas
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?

Funcionamento GUI

Enviado: 16 Out 2020 15:54
por JoséQuintas
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 !!!

Funcionamento GUI

Enviado: 16 Out 2020 16:00
por Nascimento
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

Funcionamento GUI

Enviado: 16 Out 2020 16:07
por JoséQuintas
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.

Funcionamento GUI

Enviado: 16 Out 2020 17:50
por JoséQuintas
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...

Funcionamento GUI

Enviado: 16 Out 2020 17:56
por MSDN
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 !!!

Funcionamento GUI

Enviado: 16 Out 2020 18:03
por JoséQuintas
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?

Funcionamento GUI

Enviado: 16 Out 2020 18:35
por MSDN
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 !

Funcionamento GUI

Enviado: 16 Out 2020 19:14
por JoséQuintas
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.

Funcionamento GUI

Enviado: 16 Out 2020 20:26
por MSDN
Lendo essa matéria http://www.batebyte.pr.gov.br/modules/c ... teudo=1869 , acho que entendi vc Quintas !

Funcionamento GUI

Enviado: 17 Out 2020 20:43
por JoséQuintas
E porque não hbqt?
NÃO confundir com qtcontribs.

Basta compilar e tá pronto.
Alguém lembra que isso existe?

Funcionamento GUI

Enviado: 17 Out 2020 20:52
por Vlademiro
Pensei que fosse a mesma coisa...

Funcionamento GUI

Enviado: 17 Out 2020 21:18
por JoséQuintas
gtqt.png
Essa faz parte do Harbour.
Seria só compilar e pronto.
Usa recursos a mais se quiser.