Fórum Fechar o form com ESC...dúvida #331141
14/10/2006
0
if Key = VK_RETURN then
Close;
esse código funciona, porém se o foco estiver em um dos TEdit por exemplo, o form não fecha em ESC. Estou fazendo assim, seleciono todos os TEdit do form e aponto o evento OnKeyDown deles para o OnKeyDown do form...é assim que vcs fazem? tem outro jeito mais prático?
Otra coisa, quando aperto ESC o form é fechado e é gerado um BEEP, tem como remover isso?
Abraço!
Vispo
Curtir tópico
+ 0Posts
15/10/2006
Rjun
Gostei + 0
15/10/2006
Mahdak
if ((Screen.ActiveControl is TDBGrid) or (Screen.ActiveControl is TEdit) or (Screen.ActiveControl is TCombobox) or (Screen.ActiveForm.ClassName = ´TMessageForm´)) then begin case key of vk_Escape: R_Residuos.Close; end; end;
note que o problema que voce tinha quanto a dar o ESC com o componente edit focado some, por que voce diz:
se o controle ativo esta no edit entao
caso clique no esc,
sai....
Gostei + 0
16/10/2006
Rodc
Caption: Fechar
Cancel: True
ModalResult: mrCancel
Quando você precionar o ESC, o form vai executar o evento do botão que estiver com a propriedade Cancel ativada. A propriedade ModalResult evita que você tenha que digitar algum código para fechar o form, pois o botão automaticamente vai enviar ao form o comando de fechar quando este for clicado.
Testa aí...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)