xHarbour x Gtwvw x Simular tecla ao pressionar botão!

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

xHarbour x Gtwvw x Simular tecla ao pressionar botão!

Mensagem por carlos_dornelas »

Para o Luiz ou quem mais puder me ajudar!!


Caros, estou migrando uma pequena aplicação onde tenho um dbedit() com algumas funcoes acionados pelas teclas F4, f5 e F6. No clipper eu informava essas opcoes no rodapé da tela para orientar o usuário, mas agora com a gtwvw é possível criar botões para que essas funcoes sejam acionadas pelo mouse. Aí está o problema: consigo acionar a mesma função invocada pelo pressionamento da tecla F5, por exemplo, clicando no botao correspondente, mas ao final da rotina não sei como dar o Refresh no dbedit(), o que é feito automaticamente com o uso do Return(0), Return(1) ou Return(2), quando o F5 é acionado pelo teclado. Pensei em utilizar o Keyboard() para simular o pressionamento da tela F5, mas não obtive sucesso. Alguém já fez algo parecido ou tem uma luz?

Desde já, muitissimo obrigado!

Antonio Carlos

function main()

WVW_NoClose(NIL)
WVW_SetAltF4Close(.f.)
WVW_SetCodePage(,255)
setmode(24,79)
wvw_setfont(,"terminal",23)
WVW_SetTitle(NIL,"Teste para acionar funcao no dbedit()")

clear
use teste

*nPBid := wvw_pbCreate(NIL,14,30,15,40, 'F5 Teclas',NIL,{||alert("Ao clicar ne
nPBid := wvw_pbCreate(NIL,14,30,15,40, 'F5 Teclas',NIL,{||teclas(4,-4)})

dbedit(5,20,10,50,,"teclas")


function teclas(modo,ponteiro)
set cursor off
alert(ponteiro)

lk:=lastkey()
if ponteiro=-4
lk:=-4
endif

do case
case modo=1
case modo=2
case modo=3
case modo=4
if lk==27
return(0)
elseif lk==-4
alert('Teclei F5')
endif
endcase
Luiz
Usuário Nível 2
Usuário Nível 2
Mensagens: 61
Registrado em: 05 Set 2006 07:30
Localização: Vila Velha - ES

Re: xHarbour x Gtwvw x Simular tecla ao pressionar botão!

Mensagem por Luiz »

Tente usando setlastkey() antes da chamada da função

Código: Selecionar todos

nPBid := wvw_pbCreate(NIL,14,30,15,40, 'F5 Teclas',NIL,{||SetLastKey(-4), Teclas(4,-4)})
"Ninguém se engane a si mesmo; se alguém dentre vós se tem por sábio neste mundo, faça-se louco para se tornar sábio." (I Coríntios 3:18)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
xHarbour | Gtwvw | HwGui | DBF+CDX | mySQL | Genesis IDE
Responder