Página 2 de 3

Enviado: 16 Out 2007 15:26
por ederxc
se conseguir importar esse exemplo para DIALOG , posta ae que ainda to na luta...

Re: Teclas atalho

Enviado: 28 Jan 2009 12:09
por clebervn
Sobre os SET KEY.... só funciona dentro de um grid ou onde tiver um get ???

tipo, no menu principal sem ter entrado em cadastro algum, não funciona ???

eu tenho por exemplo, no sistema atual q F2 troca de empresa, mas é trocado nos menus e não dentro de cadastros ou grids....
tem solução ?????

Re: Teclas atalho

Enviado: 29 Jan 2009 14:44
por clebervn
Eu cheguei a por nor INIT DIALOG a clásula :

ON OTHER MESSAGES {|o,m,wp,lp|MessagesProc(o,m,wp,lp)}


STATIC Function MessagesProc( oDlg, msg, wParam, lParam )

IF msg == WM_MOUSEMOVE
Return 1
ELSEIF msg == WM_LBUTTONDOWN
MsgInfo("1")
Return 1
ELSEIF msg == WM_LBUTTONUP
MsgInfo("2")
Return 1
ELSEIF msg == WM_RBUTTONUP
MsgInfo("3")
Return 1
ELSEIF msg == WM_LBUTTONDBLCLK
MsgInfo("4")
Return 1
ELSEIF msg == WM_MOVE
ELSEIF msg == WM_KEYDOWN
IF wParam == 65
MsgInfo(str(msg))
MsgInfo("A")
ELSEIF wParam == K_F9
MsgInfo(str(msg))
MsgInfo("F9")
ENDIF
endif
Return -1

* todos os eventos do mouse funcionam, mas o WM_KEYDOWN não....

Re: Teclas atalho

Enviado: 29 Jan 2009 16:00
por esbasso
As teclas de atalho em menu funcionam dentro de WINDOW, NÃO DIALOG

INIT WINDOW ...

afinal se O menu vai trocar o usuario supoe que esteja no menu prinicpal e a janela principal seja uma WINDOW

Re: Teclas atalho

Enviado: 29 Jan 2009 17:02
por clebervn
Alguém sabe como funciona o keylist do DIALOG ???

Re: Teclas atalho

Enviado: 29 Jan 2009 17:16
por esbasso
Bah, eu sei como funciona.
Ele funciona somente no objecto EDITBOX, dispara a função setada por SET KEY

Ele ira funcionar com os demais objetos tambem futuramente.

Qual é a sua duvida?

Re: Teclas atalho

Enviado: 30 Jan 2009 10:15
por clebervn
Já vi q só funciona com WINDOW, mas ai complica pra outra solução q adotamos aqui, então por hora adotamos outra solução mesmo.

abc conterrâneo

Re: Teclas atalho

Enviado: 30 Jan 2009 12:18
por esbasso
campo get normal
@ 360,41 GET oEdit1 VAR vEdit1 SIZE 80,24 ;
TOOLTIP "" ;

campo memo
@ 12,292 GET oMemo1 VAR vMemo1 SIZE 195,150 ;
STYLE ES_MULTILINE +ES_WANTRETURN +ES_AUTOVSCROLL +WS_VSCROLL ;
TOOLTIP ""

Os doiS são o mesmo editbox, o que muda é a clausula

Re: Teclas atalho

Enviado: 30 Jan 2009 12:25
por clebervn
Vlw, eu ia usar o richedit mas esse ai serviu direitinho.

Abc ... sou de floripa.... hehe

Re: Teclas atalho

Enviado: 30 Jan 2009 12:36
por esbasso
use o DESIGNER PARA MONTAR TUAS telas, vera que se torna mais facil o processo

http://www.engersoft.com.br/download/util/designer.zip

Ele gera o PRG, dai voce poder ver o codigo

-------------------------------
Nota de Moderação (Toledo): mensagem editada para trocar as barras do link acima, estavam todas invertidas e por isso o link não funcionava. Troquei \ por /

Re: Teclas atalho

Enviado: 28 Abr 2009 11:46
por clebervn
Bom dia, como faço pra acessar calculadora, calendário....

Tem q ser de um browse pra chamar as teclas de função ???

Por assim, criamos um menu com somente botões pra simular um menu popup, dentro de um init dialog, utilzando o comando : SET KEY 0,VK_F5 TO {|| ShellExecute("calc") }, MAS NÃO CHAMA NADA...

alguma sugestão ???

Re: Teclas atalho

Enviado: 28 Abr 2009 13:49
por esbasso
shellexecute("calc.exe") ou WinExec( 'Calc.Exe', 11)

Teclas atalho

Enviado: 23 Nov 2014 13:22
por janio
Pessoal,

Estando num get de um dialog, como saber se Ctrl+F foi pressionada???

Para as teclas F1 a F2 tenho feito como da maneira abaixo, mas para Ctrl+F nao sei como fazer.

Código: Selecionar todos

   @ 010,185 GET oGetCodBarras VAR vCODBAR Picture "@!" SIZE 165,32  ;
   	STYLE SS_LEFT    ;
   	MAXLENGTH 14 ;
       ON KEYDOWN {|This, nKey| TeclaFinaliza(This, nKey) } ;


*****************************************
Static Function TeclaFinaliza(This, nKey)
*****************************************

If     nKey == VK_F1
   fazIsso()
ElseIf  nKey == VK_F2
   FazAquilo()
ElseIf  nKey == VK_F12
   FazAquiloOutro()
Endif

Return .t.
Mas para Ctrl+F como seria?

Teclas atalho

Enviado: 24 Nov 2014 07:31
por Toledo
janio escreveu:mas para Ctrl+F nao sei como fazer
Janio, tenta o seguinte:

Código: Selecionar todos

ElseIf  nKey == K_CTRL_F
Obs.: chamar o arquivo inkey.ch no início deste seu PRG: #include "inkey.ch"

Abraços,

Teclas atalho

Enviado: 24 Nov 2014 20:14
por janio
Toledo,

O Basso passou um exemplo q resolveu o problema!

Código: Selecionar todos

@ 77,43 GET oEdit3 VAR vEdit3 SIZE 80,22    ;
 
      VALID  {|| ThisForm:oEdit1:ENABLE() } ; 

      ON KEYDOWN {|This, nKeyPress, nShiftAltCtrl| oEdit3_onKeyDown( This, nKeyPress, nShiftAltCtrl ) }
 
 
 
STATIC FUNCTION oEdit3_onKeyDown( This, nKeyPress, nShiftAltCtrl )
 
   

  if nKeyPress = 6 .AND.  nShiftAltCtrl = 4
 
       *- FOI TECLADO ctrl +f
 
endif
 
return .t.