Clipper On Line • Ver Tópico - HMG + GTWVG

HMG + GTWVG

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

HMG + GTWVG

Mensagempor microvolution » 28 Dez 2020 15:09

no meu caso, estou usando um misto de WVG + HMG.
Então, quando abro o formulário WINDOW sempre tem a tela preta do harbour/WVG...
Estou implementando testes ainda...
exemplo:
abro um formulário em modo GUI (100% LABEL e TEXTBOX da HMG 3.5), aí, quando pressiono a tecla de consulta (no meu caso F4), abro um TBROWSE no formato WVG usando ou WVGCRT ou WVGDIALOG (não vi diferença alguma entre eles - na prática)...

quando terminar a consulta, quero que o foco volte para o TEXTBOX do FORM que o chamou.

O detalhe, é que esse TBROWSE é genérico e serve pra todos os antigos campos @GET...

Então, alguns dos nobres professores sabem como retornar o foco para o FORM/WINDOW da HMG sem precisar clicar com o mouse ou uso das tecla ALT+TAB?

como disse, o foco tem que retornar para o TEXTBOX correto que chamou a WVGCRT() ou WVGDIALOG() (tanto faz kkk)
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Passar o Foco para TextBox estando em Grid (HeadClick) !

Mensagempor microvolution » 28 Dez 2020 18:30

pra melhorar, usei o GETPROPERTY() e o SETPROPERTY()... consegui passar por referência
   
   setproperty(FORM, OBJ, "value", &VARIAVEL)
   setproperty(FORM, OBJ, "SETFOCUS")
   
   oCrt:Destroy()
   WvtSetPaint( aPnt )
    // hb_gtSelect( oGt ) // acrescentado sugestão quintas 5/3/18
   hb_gtselect(oHB_GT)  // não funcionou 4/3/18

Mas, é a mesma história... apesar de ter funcionado, tenho algumas observações:
1) se colocar o DESTROY() antes do SET PROPERTY() a janela WVG fecha sem passar os parâmetros;
2) se colocar na sequência que está aí acima no código, os parâmetros passam e a gente vê em segundo plano a alteração imedidata do conteúdo do OBJETO em real time, mas, a janela preta/harbour/wvg não se limpa com o DESTROY()
3) o bom mesmo era que a tela apagasse 100% como foi num exemplo que tenho aqui e que estava sumido... achei o exemplo aqui...
HMG_WVG.rar
HMG_WVG_1 x HMG_WVG_2
(87.39 KiB) Baixado 86 vezes

Baixem, se quiserem (os amantes da WVG - se existirem outros além de "euzinho" e do JQuintas kkk) e testem...
principalmente o exemplo HMG_WVG_2 é bem interessante...

mas, não consegui transferir pra meu sistema pra testar.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Passar o Foco para TextBox estando em Grid (HeadClick) !

Mensagempor JoséQuintas » 29 Dez 2020 16:02

microvolution escreveu:Mas, é a mesma história... apesar de ter funcionado, tenho algumas observações:
1) se colocar o DESTROY() antes do SET PROPERTY() a janela WVG fecha sem passar os parâmetros;
2) se colocar na sequência que está aí acima no código, os parâmetros passam e a gente vê em segundo plano a alteração imedidata do conteúdo do OBJETO em real time, mas, a janela preta/harbour/wvg não se limpa com o DESTROY()
3) o bom mesmo era que a tela apagasse 100% como foi num exemplo que tenho aqui e que estava sumido... achei o exemplo aqui...


1) Elementar, cada janela tem funcionamento isolado, e o programa de certa forma fica vinculado à janela.
Se destrói a janela, destrói o processo, e encerra antes de fazer o restante.

2/3) de certa forma, relacionado, depende do que está fazendo

Nota:
O problema é sempre que o pessoal considera wvg como algo estranho, e multithread é algo ainda "diferente".
É uma janela como outra qualquer de GUI, mas com nomes direcionados a xbase++ e não aos conhecidos de GUI.
A parte diferente é ter o processo de teclado/mouse controlado pelo Harbour.

Vou dar uma olhada no fonte.
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

Passar o Foco para TextBox estando em Grid (HeadClick) !

Mensagempor JoséQuintas » 29 Dez 2020 16:13

Como consegue se achar nesses fontes?

faltou isto:

  ALERT( 'MUITO CONSTRANGEDOR;;ESSA TELA NAO SOME...;;;FALTA CONTROLE DA JANELA...' )
  Alert( "Mas se pedir pra sumir, ela some" )
  wvgSetAppWindow():Hide()
RETURN


Parece que misturou hmg, gtwvg e gtwvw, e dá erro em quase tudo.
Tem certeza que quer aproveitar ESSES fontes WVG?
Tá mais fácil jogar fora mesmo, infelizmente.
Aproveita que em HMG vai reescrever, e já faz mais limpo.
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

HMG + GTWVG

Mensagempor microvolution » 29 Dez 2020 19:18

JoséQuintas escreveu:wvgSetAppWindow():Hide()
pelo que eu saiba HIDE faz um tipo de MINIMIZAR e não ENCERRAR a tela.
Engraçado, que comigo funcionou perfeitamente.
Aliás, parece que vc recebeu até uma cópia compilada.
Quando clica para encerrar a WVG + ALERT, some literalmente a TELA PRETA e não apenas um HIDE.
Quer que eu poste aqui um printscreen ?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG + GTWVG

Mensagempor JoséQuintas » 29 Dez 2020 19:35

Não, porque como eu disse, tudo depende do fonte.
A janela GTWVG principal vai sempre estar ativa, então use o :Hide() :Show()
Se destruir a janela GTWVG e ela é a principal, que "segura" tudo aberto, então tudo vai fechar.
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

HMG + GTWVG

Mensagempor JoséQuintas » 29 Dez 2020 19:47

Uma coisa básica:

PROCEDURE Main

   SetMode(25,80)
   CLS
   RETURN


Isso abre uma janela, SE ABRIR, e já fecha, porque não tem parada.

A rotina Main() segue sempre em frente, se ela terminar o que tem pra fazer ela fecha, e fecha o aplicativo.

Nas LIBs GUI, os usuários não acostumaram diferente, como o Dr. Soto já mostrou.
A saída foi inventar uma janela Main(), que "segura" a rotina Main(), que por sua vez segura as outras janelas.

No seu caso, que está misturando com GTWVG, se a GTWVG for a Main(), e for fechada, vai fechar tudo.
Se HWGUI for a Main(), então tudo bem, talvez... porque sem a Main() a GTWVG vai acabar precisando de multithread.
Além de... uma vez essa main GTWVG aberta, não pode ser fechada, mas pode ser escondida Hide().
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

HMG + GTWVG

Mensagempor microvolution » 29 Dez 2020 19:58

JoséQuintas escreveu:Se destruir a janela GTWVG e ela é a principal, que "segura" tudo aberto, então tudo vai fechar.
professor Quintas, nos testes que estou fazendo aqui...
até agora não tem derrubado.
Já fiz splash, tela login, window main, main menu, tudo em 100% visual HMG.
Quando quero chamar um MÓDULO que ainda está em CONSOLE, a tela preta aparece... e fica pra sempre.
Mas, já consegui arrancá-la... hoje ainda, TALVEZ vou conseguir algo e postar aqui pra todos verem.
JoséQuintas escreveu:Isso abre uma janela, SE ABRIR, e já fecha, porque não tem parada.
estou eliminando esses comandos DOS/CLIPPER em WVG/HMG. tá dando certo.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG + GTWVG

Mensagempor JoséQuintas » 29 Dez 2020 20:34

microvolution escreveu:Quando quero chamar um MÓDULO que ainda está em CONSOLE, a tela preta aparece... e fica pra sempre.


Não precisa inventar muito fonte, basta um.
Só trocar a chamada atual por outra

Exemplo:
FUNCTION ExecutaWVG( bCode )
   wvgSetAppWindow():Show()
   Eval( bCode )
   wvgSetAppWindow():Hide()
   RETURN NIL
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

HMG + GTWVG

Mensagempor JoséQuintas » 29 Dez 2020 20:39

Olhe aí, cada vez mais arquivos apagados na HMG.

hmg.png
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

HMG + GTWVG

Mensagempor microvolution » 29 Dez 2020 20:52

JoséQuintas escreveu:Olhe aí, cada vez mais arquivos apagados na HMG.
nobre, você não está confundindo os posts?
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

HMG + GTWVG

Mensagempor JoséQuintas » 29 Dez 2020 21:39

É... o da agenda foi outro, onde mencionou sobre modo administrador....
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




Retornar para MiniGui

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
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro