Página 1 de 1

Botoes /cursor

Enviado: 16 Out 2007 11:29
por ederxc
Bom dia

Estou com o seguinte problema , quando clicko em um botton , wonerbotton, shadebotton , ou seja qualquer tipo de botão , ae retornar da função a qual o botão chamou o cursor some e ele só volta a aparecer nos GET se eu teclar
TAB , SETAS ou usar o MOUSE, pois bem se o cursor não estiver "piscando" em algum GET eu não consigo usar o SET KEY ...

a solução que vejo é ao retornar de qualquer função chamada por botões é posicionar o CURSOR no GET inicial , ou o Ultimo GET que se encontrava o CURSOR quando uma função for envocada por um BOTAO

Código: Selecionar todos

INIT DIALOG oJar_inclu NOEXITESC TITLE "FORNECEDORES";                       
       AT 00,00;     
       FONT oFont;
       SIZE vWIDTH,vHEIGHT;	   	  	  
       STYLE DS_CENTER;
       ICON oIcone;

       Set key oTecla,VK_ESCAPE TO SAIR()

 @ 60,03 OWNERBUTTON oBoton2 OF oPanel ID 109 ON CLICK   ||sair()};
             SIZE 55,55 FLAT ;
             TEXT "Sair" FONT oFont COORDINATES 0,35,0,0 ;
             BITMAP oimagem2+"sair.bmp" COORDINATES 0,4,0,0 ;
             TOOLTIP "Sair -  ESC"  



@100,94  GET oForn    var vForn   Font oFont PICTURE REPL("X",50) ;                    size 450,20  STYLE ES_AUTOHSCROLL 

@100,124 GET oVcep    var Vcep    Font oFont picture '99999-999'     
size 80,20    


*________________________

static func sair()     
if msgyesno("Retornar ao Menu","SysFia")
 oJar_inclu:close() 
else
endif   
return  

...Como podem ver no exemplo acima tem uma tecla de atalho para função sair e um wonerbotton ,para mesma função , se eu usar o botao a tecla para de funcionar até que eu posicione o cursor em um dos GET até então ele fica como que "invisivel "...

Enviado: 17 Out 2007 08:47
por ederxc
Bom , em partes resolvi o problema , antes de retornar de qualquer função invocada por um botão qualquer setei o foco para o primeiro GET

Código: Selecionar todos

oforn:setfocus()
return.t. 
PS: simples pra quem ja sabia rsrs


Agora uma outra duvida ..


Tem como salvar o foco de um GET e antes de retornar da função restaurar o foco
assim posso estar em qualquer GET quando clickar em um botão e quando retonar ao invez de retonar para o primeiro GET , retonaria para a posição que estava antes de clikar no BOTÂO


:-o

Enviado: 17 Out 2007 19:26
por sygecom
ederxc escreveu:Bom , em partes resolvi o problema , antes de retornar de qualquer função invocada por um botão qualquer setei o foco para o primeiro GET

Código: Selecionar todos

oforn:setfocus()
return.t. 
PS: simples pra quem ja sabia rsrs


Agora uma outra duvida ..


Tem como salvar o foco de um GET e antes de retornar da função restaurar o foco
assim posso estar em qualquer GET quando clickar em um botão e quando retonar ao invez de retonar para o primeiro GET , retonaria para a posição que estava antes de clikar no BOTÂO


:-o

Código: Selecionar todos

on INIT {|| oRazao:setfocus()}
@ 05,40 GET oRazao var vRazao SIZE 20,25

Enviado: 17 Out 2007 20:25
por ederxc
Leo acho que voce não entendeu ....

dessa forma que voce postou , o foco sempre retornara para o mesmo objeto
e o que eu estava , estou querendo é que retorne para o GET no qual estava antes de clicar no botão

Código: Selecionar todos

on INIT {|| oRazao:setfocus()}

@ 05,40 GET oRazao var vRazao SIZE 20,25 
@ 05,40 GET oSemRazao var vSemRazao SIZE 20,25 
Se no exato momento que clikar no botão o crusor estiver no oSemrazão , quando
retonar da função ira voltar para o oRazao
por isso que falei de SALAVAR O FOCO assim quando retonar da função retonar para o GET que estava antes de clickar no botão ...

saco a moral ??

Enviado: 17 Out 2007 20:29
por sygecom
Saquei, mas nuam sei...boa sorte !!!

Enviado: 22 Out 2007 22:45
por ederxc
up topc !

Enviado: 13 Nov 2007 11:56
por Luciano Bonfim
já tentou jogar no buffer a tecla HOME antes do return da funçäo
keyboard(chr(K_HOME)) assim seu cursor vai estar piscando no GET que estava antes de chamar a funçäo