GARANTIR DESCONTO

Fórum Problema com acesso a botões com ALT + letra sublinhada #425681

06/10/2012

0

Pessoal, eu tenho um form com alguns botões, nos quais eu coloquei o "&" no caption para que eu possa acessar usando o ALT + a tecla sublinhada.

Até ai tudo bem, só que eu também tenho um DBGrid nesse form, e quando o foco está setado nele e o usuário digita alguma coisa aparece um Edit para o usuário digitar, e assim fazer um "Dataset.locate".

Só que quando o usuário digita alguma letra, estando com o foco no DBGrid, a qual está associada há algum botão que está com "&" e a letra sublinhada, o foco é alterado para este borão.


Alguém tem alguma noção?
Junio Silva

Junio Silva

Responder

Posts

06/10/2012

Rafael Encinas

Olá boa noite!

Aparentemente está tendo problemas nos eventos OnKeyDown e KeyPreview do Form. Dependendo do lugar onde o evento é disparado pode dar conflito.

Primeiro: No edit que aparece tem algum evento ?
Segundo: No DGrid que tem algum evento envolvendo as teclas de atalho ?

Grato

Rafael Encinas
Responder

Gostei + 0

06/10/2012

Junio Silva

O Keypreview do Form está True.

No evento OnKeyDown do Form eu tenho alguns atalhos:
if Key = Vk_Escape then btnFechar.Click;
if (Key = Vk_F3) and (btnAlterar.Enabled) then btnAlterar.Click;


No evento OnKeyUp do DBGrid eu tenho o seguinte:
nCol := TStringGrid(dbgPesquisa).Row;
if Key = VK_UP then
if nCol = 1 then
edtValor.SetFocus;
//Se estiver na primeira linha do DBGrid e o usuário apertar UP vai para o Edit que uso na pesquisa


No evento OnKeyPress do DBGrid, caso o usuário digite algo do conjunto ele popula o Edit com a tecla pressionada:
if key in ['a'..'z','A'..'Z','0'..'9'] then
edtLocalizar.Text := Key;

E no edtLocalizar, evento OnChange, eu faço uma busca com locate no DataSet.



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar