Página 1 de 1

GET c/ ON KEYDOWN

Enviado: 19 Nov 2008 15:00
por clebervn
O q preciso.....

estou com uma telinha de cadastro aberta e pus setinhas pra ir e voltar, mas preciso tb q ao usuário digitar a tecla de + ou - no teclado possa avançar pra frente e pra trás...
Como faço ????

é usando mesmo GET.... ON KEYDOWN {|| ...} ???

algúem tem algum exemplo ??

Re: GET c/ ON KEYDOWN

Enviado: 19 Nov 2008 18:09
por Toledo
clebervn, se existe GETs abertos, não seria melhor usar SET KEY?

Por exemplo:

Código: Selecionar todos

SET KEY FSHIFT,VK_RIGHT TO SuaFuncao()
SET KEY FSHIFT,VK_LEFT TO SuaFuncao()
No exemplo acima estou usando a combinação de teclas SHIFT + SETA PARA DIREITA ou SHIFT + SETA PARA ESQUERDA... no caso de GETs, o sinal de + ou - vai dar um certo problema, pois se o usuário ter que digitar no GET algum texto com o sinal de + ou -, como faz?

Abraços,

Re: GET c/ ON KEYDOWN

Enviado: 21 Nov 2008 13:02
por sygecom
Ou:

Código: Selecionar todos

#include "hwgui.ch"
STATIC Thisform
FUNCTION main()
 RETURN _teste()

FUNCTION _teste

 PRIVATE vEdit1 := ""
 PRIVATE oEdit1

  INIT DIALOG oDlg TITLE "Nome do Form" ;
    ICON HIcon():AddResource(1004)  ;
    AT 370,175 SIZE 255,70 ;
        FONT HFont():Add( '',0,-13,400,,,) NOEXITESC  ;
     STYLE WS_POPUP+WS_CAPTION+DS_SYSMODAL +DS_CENTER +WS_SYSMENU+WS_MINIMIZEBOX+WS_SIZEBOX
    Thisform := oDlg

   @ 9,22 GET oEdit1 VAR vEdit1 SIZE 215,24    ; 
        TOOLTIP "" ; 
        ON KEYDOWN {|this, key| oEdit1_onKeyDown( this, key ) }
        oEdit1:Name := 'oEdit1' 

   ACTIVATE DIALOG oDlg 

RETURN oDlg:lresult

STATIC FUNCTION oEdit1_onKeyDown
parameters this, key
if key = 107
   msginfo("clicou na tecla +")
elseif key = 109
   msginfo("clicou na tecla -")
endif
return .t.

Re: GET c/ ON KEYDOWN

Enviado: 22 Nov 2008 14:01
por clebervn
foi essa solução acima q adotei tb.... mas vlw