OnKeyPress X OnExit

Delphi

29/01/2008

Tenho rotinas no OnExit e no OnKeyPress. Se eu teclar #27(ESC), deveria fazer algo e sair. Mas como eu tenho evento no OnExit, ele sai da procedure(OnKeyPress), mas executa o OnExit(Normal). Como faço para uma determinada situação eu tecle o OnKeyPress e não chama o OnExit? Grato!!!


Paulo

Paulo

Curtidas 0

Respostas

Djjunior

Djjunior

29/01/2008

Crie uma variavel sete-a como true no OnKeyPres e no OnKeyExit se esta for true pule a execução


GOSTEI 0
Paulo

Paulo

29/01/2008

Isso eu já fiz e não é OnKeyPress, mas sim, OnKeyDown. A tecla é a F7, aí eu declarei uma var Sair:Boolean; No OnKeyDown eu dou Sair = True e na primeira não funciona, mas na segunda funcionou.


GOSTEI 0
Edilcimar

Edilcimar

29/01/2008

não entendi muito bem mas o que me parece é que você deve fazer isto:
if key = X then
faça isto
else if key = Y then
faça aquilo
else
faça outra coisa


GOSTEI 0
Paulo

Paulo

29/01/2008

Vou explicar melhor. Tenho códigos no evento OnExit, e um deles, é focar num Edit, caso esteja vazio(TEXT = ´´). Porem no evento OnKeyDown, eu preciso, que quando a tecla F7 for pressionada, estando ele vazio ou não, ele me abra um painel e o cursor vá para o edit daquele Painel. Porem se eu der um F7, ele vai executar o comando do F7 e depois o OnExit, e o que eu não quero é que quando o OnKeyDown for chamado, o OnExit não executa nada, como se ele saisse da procedure.


GOSTEI 0
Paulo

Paulo

29/01/2008

Resolvi

Crie uma variavel sete-a como true no OnKeyPres e no OnKeyExit se esta for true pule a execução


Fiz assim, mas antes estava no OnKeyDown do componente e não funcionou. Coloquei no OnKeyDown do form e funcionou. Valeu!!!


GOSTEI 0
POSTAR