Página 1 de 3

Teclas atalho

Enviado: 14 Out 2007 11:48
por ederxc
Fala moçada , estava pesquisando como usar teclas de atalho para demais funções no sistema como salvar sair etc... O que encontrei foi o velho
SET KEY porem não estou conseguindo passar vaores para tecla ALT + "tecla"

Código: Selecionar todos

SET KEY FCONTROL,ASC("B")   TO FUNCAO()

SET KEY FCONTROL,VK_F2 TO FUNCAO()


as opções acima com a tecla CTRL + tecla funcionam perfeitamente , porêm
se ao invez de CTRL eu usar ALT , ja não funciona nada ex:

Código: Selecionar todos

SET KEY FALT,ASC("B")   TO FUNCAO()

SET KEY FALT,VK_F2 TO FUNCAO()

SET KEY VK_F2 TO FUNCAO()
Dessa forma sem chance nada funciona ... O que poderia ser feito ??

Enviado: 15 Out 2007 14:08
por ederxc
Ninguem usa a tecla ALT ???

Enviado: 15 Out 2007 15:58
por ederxc
Bom , em partes resolvi o problema para o uso de apenas uma tecla ...


Código: Selecionar todos

priv oTecla

set key oTecla,VK_F12 to salvar()
....Ou seja , é necessario usar um objeto.


Agora quanto a tecla ALT, ainda estou a procura de uma solução ! :f

Enviado: 15 Out 2007 17:10
por esbasso
nOSSA , era este teu problema.
EU USO TECLA ALT+

SET KEY 286 TO ativarmenu // tecla alt A
SET KEY 294 TO ativarmenu // tecla alt L
SET KEY 274 TO ativarmenu // tecla alt E
SET KEY 280 TO ativarmenu // tecla alt O
SET KEY 275 TO ativarmenu // tecla alt R
SET KEY 281 TO ativarmenu // tecla alt P
SET KEY 278 TO ativarmenu // tecla alt U
SET KEY 289 TO ativarmenu // tecla alt F

Enviado: 15 Out 2007 21:36
por ederxc
esbasso escreveu:nOSSA , era este teu problema.
EU USO TECLA ALT+

SET KEY 286 TO ativarmenu // tecla alt A
SET KEY 294 TO ativarmenu // tecla alt L
SET KEY 274 TO ativarmenu // tecla alt E
SET KEY 280 TO ativarmenu // tecla alt O
SET KEY 275 TO ativarmenu // tecla alt R
SET KEY 281 TO ativarmenu // tecla alt P
SET KEY 278 TO ativarmenu // tecla alt U
SET KEY 289 TO ativarmenu // tecla alt F
Cara tem certeza do que esta falando pois estou usando aqui perfeitamente como voce diz , alias foi a primeira coisa que tentei , mas não funciona , tem certeza que no "tradicionalzão" funfa com a HWGUI ??

Código: Selecionar todos

set key oTecla,VK_ESCAPE to funciona()
set key oTecla ,VK_F12 to funciona()
Assim funciona !

Código: Selecionar todos

set key  27 to nadacerto()
set key -41 to nadacerto()
Assim não funciona!



:f

Enviado: 15 Out 2007 21:49
por ederxc
E tem outra ...

Se usar o mouse no WONERBOTTON as teclas de ATALHO param de funcionar só voltam a funcionar se colocar o cursor em algum GET ...

Enviado: 15 Out 2007 22:01
por esbasso
HA, agora entendi.
o Problema das teclas ALT deve estar no include hwgui.ch
Veja ,este é o comando da HWGUI
SET KEY <nctrl>,<nkey> [ OF <oDlg> ] [ TO <func> ]

ESTE É O COMANDO NORMAL
SET KEY <nkey> [ TO <func> ]

Casualmente eu NÃO TENHO no PRG da definições das teclas o INCLUDE HWGUI.CH
Ele redefine o comando SET KEY

eNTÃO FAZ ASSIM, chame estas teclas de um prg que não tenho o include HWGUI.CH

Quanto aos botões , eu desisti de todas menos DO BUTTON que é o unico que parece que funciona 100%
só não da para por figuras.

Enviado: 15 Out 2007 22:06
por ederxc
esbasso escreveu:HA, agora entendi.

Quanto aos botões , eu desisti de todas menos DO BUTTON que é o unico que parece que funciona 100%
só não da para por figuras.

Então isso do wonerbotton fazer parar as teclas é um problema dele mesmo ??

Enviado: 15 Out 2007 22:12
por esbasso
Acredito que sim, pois na realidade eles são programados vide os fontes da HWGUI na pasta SOURCE.

Enviado: 15 Out 2007 22:14
por sygecom
ederxc escreveu:Código:
set key 27 to nadacerto()
set key -41 to nadacerto()


Assim não funciona!
Eder, se não me engano vc tem que linkar a #include "windows.ch"

Enviado: 15 Out 2007 22:55
por ederxc
Leo , jas esta linkado !

Enviado: 15 Out 2007 23:39
por sygecom
Eder, olhe aquele meu browse que te mandei...tem exemplos de uso de tecla de atalho...inclusive para calculadora do windows !!!

Enviado: 16 Out 2007 13:33
por Daniel_halon
Olá Leonardo, gostaria se pudesses postar esse exemplo aqui para poder comprender o funcionamento.

Valeu, Daniel :)Pos

Enviado: 16 Out 2007 13:42
por ederxc
Brow , resumindo foi isso que o Leo me mandou , embora eu ainda não tenha em mente como atribuir na DIALOG

Código: Selecionar todos

@ 10,40 BROWSE oBrw DATABASE OF oFrm SIZE GETDESKTOPWIDTH()-30, GETDESKTOPHEIGHT()-250  ;
        STYLE  WS_VSCROLL + WS_HSCROLL;
        ON CLICK {|o,key| BrowseKey(o, key,vALIAS ) }

oBrw:alias := aLIAS()

oBrw:bKeyDown := {|o,key| BrowseKey(o, key, vALIAS ) }
@ 5,10 say "F1 - Sobre  / F2 - Busca  / F4 - Muda Ordem  / F5 - Gera Excel  / F9 - Calculadora" size GETDESKTOPWIDTH()-20,20;
STYLE SS_CENTER COLOR x_BLUE



Static Function BrowseKey2( oBrowse, key, vALIAS )
DO CASE
   CASE KEY= VK_ESCAPE
        EndDialog()
   CASE KEY = VK_RETURN
        EndDialog()
   CASE KEY = 1
        EndDialog()
   CASE KEY = VK_F1
        Sobre()
   CASE KEY = VK_F2
*        BUSCA_NOME()
   CASE KEY = VK_F4
*        Lista_ordem()
   CASE KEY = VK_F5
        Gera_Excel(vALIAS)
   CASE KEY = VK_F9
        ShellExecute("calc")
   otherwise
ENDCASE
Return .T.

Enviado: 16 Out 2007 13:58
por Daniel_halon
Obrigado, toda informação e válida, vai dentro do bau



Daniel...........