Página 1 de 1

STYLE WS_DISABLE no GET

Enviado: 04 Jan 2010 10:52
por gralak
Ai galera estou com um problema após a atualização quando eu declaro um GET e no seu STYLE coloco WS_DISABLE os eventos de TECLA, VALID e WHEN não funcionam mais alguém sabe como eu posso resolver obrigado té+++

Re: STYLE WS_DISABLE no GET

Enviado: 04 Jan 2010 15:52
por esbasso
SE VOCE DESABILITOU é claro que não pode funcionar os eventos. habilita que ira funcionar.

Re: STYLE WS_DISABLE no GET

Enviado: 04 Jan 2010 16:16
por gralak
Um instante eu declarei como WS_DISABLE mas antes de cair no GET eu HABILITO ele novamente para que eu possa usá-lo e depois travo novamente ... mas nessa declaração de WS_DISABLE ele já anula os eventos previamente declarados e quando eu habilito pra usar eles não funcionam ...
Tem laguma maneira de fazer eles funcionarem novamente ???

Re: STYLE WS_DISABLE no GET

Enviado: 04 Jan 2010 16:20
por esbasso
nostre o teu codigo de como habilita e desabilita.

Re: STYLE WS_DISABLE no GET

Enviado: 04 Jan 2010 17:22
por gralak
Para abilitar
Ed_Vendedor:Enable()

Para desabilitar
Ed_Vendedor:Disable()

Re: STYLE WS_DISABLE no GET

Enviado: 04 Jan 2010 17:31
por esbasso
VOCE TEM DE postar um codigo completo do teu get, e tambem onde voce habilita e desabilita

Re: STYLE WS_DISABLE no GET

Enviado: 05 Jan 2010 16:00
por gralak
O Get é declarado dessa maneira

PRIVATE Ed_Vendedor
PRIVATE vEd_Vendedor := 0

@ 310,115 GET Ed_Vendedor VAR vEd_Vendedor SIZE 68,24 PICTURE "999999" maxlength 6;
WHEN{|| cons:= "VEN", .t.};
VALID{|| if(vsair,(if(vEd_Vendedor > 0,(cons:="",VERIFICA_VEN(),FATURANDO_PDV()),(FATURANDO_PDV())),.t.)};
STYLE WS_BORDER + WS_DISABLE



E quando eu sei que o usuario ira usar o campo vendedor eu repasso Ed_Vendedor:ENABLE()
e quando preciso desabilita-lo novamente eu repasso Ed_Vendedor:Disable()

Re: STYLE WS_DISABLE no GET

Enviado: 05 Jan 2010 17:00
por esbasso
VOCE ESTA CERTO DISSO?

testa assim
WHEN{|| msginfo('when', .t.};
VALID{|| msginfo("valid"),.t.};

Re: STYLE WS_DISABLE no GET

Enviado: 05 Jan 2010 22:20
por gralak
Até onde eu sei deve sempre retornar .t. ou .f. no VALID e no WHEN ahhahahahah
tem alguma outra maneira que eu possa fazer isso, ou será que é isso que ocasiona o erro no WS_DISABLE ??

Re: STYLE WS_DISABLE no GET

Enviado: 06 Jan 2010 23:09
por esbasso
acho que voce não entendeu

WHEN{|| msginfo('when'), .t.};
VALID{|| msginfo("valid"),.t.};

coloque isso para ver se ele ativa os eventos quando habilitado

Re: STYLE WS_DISABLE no GET

Enviado: 08 Jan 2010 08:32
por gralak
Caro amigo esbassso pra vc conseguir fazer o erro tem que ser da seguinte maneira


O form deve ter a propriedade CLIPPER para navegar com o ENTER

Deve haver mais de um GET no form e na hora da declaração do GET colocar o WS_DISABLE no estilo dos GETS se houver apenas 1 GET liberado no form e os outros estiverem DESABILITADOS o evento VALID e WHEN desse GET não funciona, se mais de um GET estiver liberado ele manda o foco pro outro GET e depois que vc passar novamente ele dispara o evento ... ok

foi dessa maneira que deu o problema aki comigo se conseguir me ajudar blz ...

vlw pela antenção té+++++

Re: STYLE WS_DISABLE no GET

Enviado: 08 Jan 2010 09:14
por esbasso
acho que entendi o problema
na realidade os eventos funcionam, mas o problema esta que quando habilita se o objeto for o proximo a pegar o foco ele se perde pois o valid é disparado apos o proximo foco ja ser configurado.

Re: STYLE WS_DISABLE no GET

Enviado: 08 Jan 2010 10:36
por gralak
Então tem alguma forma de resolver essa questão na bliblioteca ???

Re: STYLE WS_DISABLE no GET

Enviado: 08 Jan 2010 10:48
por esbasso
Quem sabe, terá de ser analisado

Re: STYLE WS_DISABLE no GET

Enviado: 08 Jan 2010 11:01
por esbasso
PARA CONTORNAR faça assim

SETFOCUS(0)

depois de Ed_Vendedor:Enable() coloque setfocus(0)

Ed_Vendedor:Enable()
setfocus(0)