DBGrid1KeyDown - pressionar teclas para habilitar campos

Delphi

27/09/2004

as vezes eu uso no OnKeyDown de alguns DBgrids para habilitar alguns campos fazendo assim:

Case Key Of
VK_RETURN, VK_DOWN: Perform(WM_NEXTDLGCTL,0,0);
VK_UP: Perform(WM_NEXTDLGCTL,1,0);
VK_F5: begin //
///habilito os campos
end;

dá pra acrescentar mais uma tecla com o F5. tipo a pessoa ter q pressionar duas teclas para habilitar exemplo F5 + uma letra que eu queira, dá pra fazer?


Janete

Janete

Curtidas 0

Respostas

Fer_nanda

Fer_nanda

27/09/2004

Não posso dizer que seria o mais correto, mas faço isso desta maneira...
  if key = 84 then
   if shift = [ssCtrl] then
     showmessage(´pressionado CTRL + T ´);

No seu caso, vc poderia colocar uma condição dentro da opção (no seu case) do F5.
Até


GOSTEI 0
Janete

Janete

27/09/2004

não estou conseguindo tentei assim:

Case Key Of
VK_RETURN, VK_DOWN: Perform(WM_NEXTDLGCTL,0,0);
VK_UP: Perform(WM_NEXTDLGCTL,1,0);
(VK_LSHIFT + VK_F11): begin

// mais ele só considera uma tecla pressionada e tentei fazer com o exemplo da Fernanda tb não consegui


GOSTEI 0
Fer_nanda

Fer_nanda

27/09/2004

Eu testei a rotina abaixo e funcionou aqui... veja se lhe ajuda
  case key of
    VK_RETURN, VK_DOWN: perform(WM_NEXTDLGCTL,0,0);
    VK_UP, VK_ESCAPE: perform(WM_NEXTDLGCTL,1,0);
    VK_F11: if shift = [ssctrl] then showmessage(´ctrl + f11´);
  end;


Até


GOSTEI 0
Janete

Janete

27/09/2004

Eu testei a rotina abaixo e funcionou aqui... veja se lhe ajuda
  case key of
    VK_RETURN, VK_DOWN: perform(WM_NEXTDLGCTL,0,0);
    VK_UP, VK_ESCAPE: perform(WM_NEXTDLGCTL,1,0);
    VK_F11: if shift = [ssctrl] then showmessage(´ctrl + f11´);
  end;
Até


Certinho Fernanda, obrigado :D


GOSTEI 0
POSTAR