Trocar Tab por Enter

17/05/2003

0

Pessoal por favor me ajudem,

Eu coloquei o código abaixo nos dbEdits e funcionou perfeitamente, mas quando o fóco chega no dbEdit que está dentro de um dbCtrlGrid e eu pressiono Enter ele sai de dentro da dbCtrlGrid ao invés de percorrer pelos campos do dbCtrlGrid, pois com Tab funciona.

if Key = #13 then
begin;
Key := 0;
Perform(Wm_NextDlgCtl,1,0);
end;

Obrigado desde já.....

Marcelo Ribeiro


Marceloribeiro

Marceloribeiro

Responder

Posts

17/05/2003

Welington

uses QStdCtrls, QGrids;

(*
Esta procedure é genérica para toda a aplicacao. Tem a finalidade de mudar
de campos com ENTER e Seta-Abaixo e retornar para o campo anterior com a
Seta-Acima.
*)
procedure MudarComEnter(var Msg: TMsg; var Handled: Boolean);
begin
if not ((Screen.ActiveControl is TCustomMemo) or
(Screen.ActiveControl is TCustomGrid) or
(Screen.ActiveForm.ClassName = ´TMessageForm´)) then
begin
if Msg.message = WM_KEYDOWN then
begin
case Msg.wParam of
VK_RETURN,VK_DOWN : Screen.ActiveForm.Perform(WM_NextDlgCtl,0,0);
VK_UP : Screen.ActiveForm.Perform(WM_NextDlgCtl,1,0);
end;
end;
end;
end;

//--> Ligar as mensagens do Windows à procedure para tratar o Enter
Application.OnMessage := MudarComEnter;

//--> Desliga procedure MudarComEnter
Application.OnMessage := Nil;


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar