Trocando Tab por Enter
atualmente eu uso no evento onkeypress ou onkeydown o codigo #13 ou 13 em cada Tedit eu coloco o if com o codigo ascii e mando o setfocus no componente desejado
ou a seguinte procedure:
eu queria saber se com o componente applicationevents eu consigo pegar o evento de enter e mudar para tab (fazer uma coisa mais simples e prática).
ou a seguinte procedure:
procedure Tfrm.TabComoEnter(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;
eu queria saber se com o componente applicationevents eu consigo pegar o evento de enter e mudar para tab (fazer uma coisa mais simples e prática).
Tap_pedroso
Curtidas 0
Respostas
Gameiro
27/10/2004
Deixe a propriedade dor form keypreview=true.
E no onkeypress do form o seguinte código:
if (key=#13) then
begin
key:=0;
perform(Wm_nextDlgCtl,0,0)
end;
Espero ter ajudado, ate mais.
E no onkeypress do form o seguinte código:
if (key=#13) then
begin
key:=0;
perform(Wm_nextDlgCtl,0,0)
end;
Espero ter ajudado, ate mais.
GOSTEI 0
Reginaldo174
27/10/2004
private
procedure Tab_Enter(var Msg: TMsg; var Handled: Boolean);
procedure TForm1.Tab_Enter(var Msg: TMsg; var Handled: Boolean );
begin
if MSg.message=WM_KeyDown then if Msg.wParam=VK_Return then keybd_event(VK_Tab,0,0,0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:=Tab_Enter;
end;
Pronto, todo seu programa aceita ENTER como TAB Agora.
procedure Tab_Enter(var Msg: TMsg; var Handled: Boolean);
procedure TForm1.Tab_Enter(var Msg: TMsg; var Handled: Boolean );
begin
if MSg.message=WM_KeyDown then if Msg.wParam=VK_Return then keybd_event(VK_Tab,0,0,0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:=Tab_Enter;
end;
Pronto, todo seu programa aceita ENTER como TAB Agora.
GOSTEI 0