HMG + GTWVG

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG + GTWVG

Mensagem por microvolution »

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: 1231
Registrado em: 02 Set 2011 22:17
Contato:

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

Mensagem por microvolution »

pra melhorar, usei o GETPROPERTY() e o SETPROPERTY()... consegui passar por referência

Código: Selecionar todos

   
   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 305 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!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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

Mensagem por JoséQuintas »

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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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

Mensagem por JoséQuintas »

Como consegue se achar nesses fontes?

faltou isto:

Código: Selecionar todos

  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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG + GTWVG

Mensagem por microvolution »

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!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG + GTWVG

Mensagem por JoséQuintas »

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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG + GTWVG

Mensagem por JoséQuintas »

Uma coisa básica:

Código: Selecionar todos

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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG + GTWVG

Mensagem por microvolution »

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!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG + GTWVG

Mensagem por JoséQuintas »

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:

Código: Selecionar todos

FUNCTION ExecutaWVG( bCode )
   wvgSetAppWindow():Show()
   Eval( bCode )
   wvgSetAppWindow():Hide()
   RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG + GTWVG

Mensagem por JoséQuintas »

Olhe aí, cada vez mais arquivos apagados na HMG.
hmg.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

HMG + GTWVG

Mensagem por microvolution »

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!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

HMG + GTWVG

Mensagem por JoséQuintas »

É... o da agenda foi outro, onde mencionou sobre modo administrador....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
Responder