loucura com atalhos de botões

Delphi

20/01/2005

Saudações

Estou com o seguinte problema se tenho botões com o caption definidos como &Cancelar, &Salvar, &Excluir, &Incluir

Ao pressionar a Letra que sucede ao & o sistema o executa sem ser necessário pressionar a tecla ALT, Ex.: se pressionar a tecla C é executado o evento onclick do botão com o caption = &Cancelar

Desde já agradeço pela atenção


Steve_narancic

Steve_narancic

Curtidas 0

Respostas

Reginaldo174

Reginaldo174

20/01/2005

Em FormKeyDown coloque:

Case key of
67 : Botao_Cancelar.click;
83 : Botao_Salvar.click;
69 : Botao_Excluir.click;
73 : Botao_Incluir.click;
end;

mude a propriedade Keypreview para true.


GOSTEI 0
Steve_narancic

Steve_narancic

20/01/2005

Acho que não me expressei bem, o que está acontecendo é que não está sendo necessário pressionar a tecla Alt+Letra, basta pressionar a do botão que está sublinhada e ele executa o comando.


GOSTEI 0
Eixox

Eixox

20/01/2005

Isso não é loucura nenhuma. Quando o foco está sobre botões e qualquer outro componente que não seja de edição tipo Edit você não precisará pressionar a tecla ALT. Isso é normal.


GOSTEI 0
Steve_narancic

Steve_narancic

20/01/2005

Obrigado,

mas por acaso existe como desativar este recurso.


GOSTEI 0
Paulo_amorim

Paulo_amorim

20/01/2005

Olá

Pode-se tentar...
Coloque KeyPreview do Form para true

No OnKeyDown, existe o parâmetro Shift
Teste se:

-Ele apertou uma letra do alfabeto: in [´A´..´Z´]
-O foco não está em um Edit, Memo ou o que vc tiver na tela
-O Alt não está apertado not(ssAlt in Shift)
Se satisfizer tudo isso, Key := 0;

Espero que ajude
Até+


GOSTEI 0
Steve_narancic

Steve_narancic

20/01/2005

valeu!!!

não sei como não tinha pensado nisto antes, muito obrigado pelas dicas


GOSTEI 0
POSTAR