Cláusula ON CHANGE na HwGui

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Cláusula ON CHANGE na HwGui

Mensagem por Vandi »

Boa tarde...

Alguém pode me dizer, em HwGui, o que seria equivalente a cláusula ON CHANGE da MiniGui?

Gilvandi
Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Cláusula ON CHANGE na HwGui

Mensagem por Vandi »

Bom dia...
(Acrescentando) Gostaria de um exemplo de uma rotina com Browse em HwGui com o equivalente a cláusula ON CHANGE da Minigui, tipo assim, em um cadastro, a medida que o cursor for sendo deslocado na tela do browse, em outra tela os dados completos do cadastros serial atualizados e apresentados.
Creio que essa informação será de grande valia para muitos aqui do forum.

Agradecimentos,

Gilvandi
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Cláusula ON CHANGE na HwGui

Mensagem por Toledo »

Gilvandi, veja o exemplo que está na pasta \samples\browsefilter da HwGui.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Cláusula ON CHANGE na HwGui

Mensagem por sygecom »

Olá Gilvandi,

Nos GET e COMBOBOX também tem ON CHANGE, veja exemplos abaixo:

GET:

Código: Selecionar todos

   @ 165,GETDESKTOPHEIGHT()-170 Get oGet1 VAR wNOME SIZE 300,24;
   STYLE ES_AUTOHSCROLL  PICTURE '@!' MAXLENGTH 40;
   ON Change {|| MsgInfo(oGet1:GETTEXT()),.T. };
   TOOLTIP "Clique Aqui Para buscar um Nome"
COMBOBOX

Código: Selecionar todos

aLST :={'OPÇÃO 1','OPÇÃO 2'}
@ 011,20 GET COMBOBOX oLST VAR nLST ITEMS aLST SIZE 704,24;
         ON CHANGE {|| MsgInfo(aLST[nLST]),.T. };
         TOOLTIP 'Escolha uma opção'
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Wanderlei
Usuário Nível 3
Usuário Nível 3
Mensagens: 196
Registrado em: 25 Jan 2008 13:19
Localização: Goiânia - GO

Cláusula ON CHANGE na HwGui

Mensagem por Wanderlei »

Olá Leonardo,
vc sabe me dizer o que está errado neste redefine que não executa o ON CHANGE.

Código: Selecionar todos

   REDEFINE COMBOBOX oTipoSecao ITEMS {'MEDICAMENTO','PERFUMARIA','OUTROS'} ;
            OF oDlg_Mod ;
            ID 104 ;
            ON INIT   {|| oTipoSecao:Value := iif( aGet[nSeTipo] == 'M', 1, ;
                          iif( aGet[nSeTipo] == 'P', 2, 3 ) ) } ;
            ON CHANGE {|| oTipoSecao:Value := 1,MsgInfo('Change') ,aGet[nSeTipo]    := iif( oTipoSecao:value == 1, 'M', ;
                          iif( oTipoSecao:value == 2, 'P','O' ) ), msginfo(aGet[nSeTipo]+"-"+str(oTipoSecao:value)) } ;
            TOOLTIP 'Selecione o tipo de produto da seção'
Fiz o dialog no pelles C e estou redefinindo no prg, mas não está funcionando, não executa o ON CHANGE para mudar o valor, como faço?
Editado pela última vez por Toledo em 22 Ago 2012 16:25, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Cláusula ON CHANGE na HwGui

Mensagem por Toledo »

Não sou o Leonardo, mas vou fazer uma observação:

Código: Selecionar todos

ON CHANGE {|| oTipoSecao:Value := 1
No início do ON CHANGE você está definindo o valor do oTipoSecao para 1, então não importa qual seja a seleção que você faça, sempre o item selecionado será "MEDICAMENTOS".

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Wanderlei
Usuário Nível 3
Usuário Nível 3
Mensagens: 196
Registrado em: 25 Jan 2008 13:19
Localização: Goiânia - GO

Cláusula ON CHANGE na HwGui

Mensagem por Wanderlei »

Desculpe toledo,
eu deveria ter tirado isso antes de postar, é que ON CHANGE não está executando, nem se quer mostra o MsgInfo que coloquei, nos exemplo que vi da pasta samples tem muit GET COMBOBOX mas como criei pelo pelles não sei como redefinir.
na verdades está assim:
REDEFINE COMBOBOX oTipoSecao ITEMS {'MEDICAMENTO','PERFUMARIA','OUTROS'} ;
OF oDlg_Mod ;
ID 104 ;
ON INIT {|| oTipoSecao:Value := iif( aGet[nSeTipo] == 'M', 1, ;
iif( aGet[nSeTipo] == 'P', 2, 3 ) ) } ;
ON CHANGE {|| aGet[nSeTipo] := iif( oTipoSecao:value == 1, 'M', ;
iif( oTipoSecao:value == 2, 'P','O' ) ) } ;
TOOLTIP 'Selecione o tipo de produto da seção'

o oTipoSecao:value está sempre vindo o numero que carregou no ON INIT e não está alterando quando clicado.
será que tem algo errado ai?
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Cláusula ON CHANGE na HwGui

Mensagem por sygecom »

Olá Wanderlei,
Eu não uso REDEFINE, mas tente usando com VAR, exemplo:

REDEFINE COMBOBOX oTipoSecao VAR nTipoSecao ITEMS {'MEDICAMENTO','PERFUMARIA','OUTROS'} ;
OF oDlg_Mod ;
ID 104 ;
ON INIT {|| oTipoSecao:Value := iif( aGet[nSeTipo] == 'M', 1,iif( aGet[nSeTipo] == 'P', 2, 3 ) ) } ;
ON CHANGE {|| aGet[nSeTipo] := iif( nTipoSecao == 1, 'M', iif( nTipoSecao == 2, 'P','O' ) ) } ;
TOOLTIP 'Selecione o tipo de produto da seção'

E tente colocar uns MSGINFO() no ON CHANGE para ver se dispara algo.

Outra coisa que notei no GUILIB.CH que os camandos para REDEFINE da COMBOBOX não são tão completemos como no modo usando @, mas acho que não deveria influenciar.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Wanderlei
Usuário Nível 3
Usuário Nível 3
Mensagens: 196
Registrado em: 25 Jan 2008 13:19
Localização: Goiânia - GO

Cláusula ON CHANGE na HwGui

Mensagem por Wanderlei »

é verdade Leonardo, o redefine não está funcionando, então vou utilizar o designer ao inves do pelles c, fiz um teste desenhando a tela no designer e copiei a função para dentro do meu prg e funcionou. valeu pela atenção de vocês. :D
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Responder