Fórum Help: Perform e postmessag para tratamento de tecla ENTER #239430
24/06/2004
0
Pessoal estou com um problema aqui. é o seguinte:
Eu utilizo o
if Key=#13 then
begin
Key := 0;
Perform(WM_NEXTDLGCTL, 0, 0);
// ou postmessage(handle,WM_keydown,vk_tab,1);
end;
no form tratar a tecla enter como tab. O problema acontece porque tenho varias edits ex: edit1, edit, edit3 e edit4 entao se eu fizer edit3.setfocus no evento onKeyDown no edit1 quando eu dar um enter o cursor fica no edit4 ´como se eu tivesse dado edit4.setfocus´ mas na verdade teria que estar no edit3. Como eu poderia fazer para cursor ir par o edit3.
Eu utilizo o
if Key=#13 then
begin
Key := 0;
Perform(WM_NEXTDLGCTL, 0, 0);
// ou postmessage(handle,WM_keydown,vk_tab,1);
end;
no form tratar a tecla enter como tab. O problema acontece porque tenho varias edits ex: edit1, edit, edit3 e edit4 entao se eu fizer edit3.setfocus no evento onKeyDown no edit1 quando eu dar um enter o cursor fica no edit4 ´como se eu tivesse dado edit4.setfocus´ mas na verdade teria que estar no edit3. Como eu poderia fazer para cursor ir par o edit3.
Gulira
Curtir tópico
+ 0
Responder
Posts
24/06/2004
Fred
Aonde vc esta colocando este Edit3.Setfocus?
Responder
Gostei + 0
24/06/2004
Gulira
no evendo OnKeyDown do edit1
para ser mais exato
procedure Tfrm1.edt1KeyDown(Sender: TObject; var Key: Word; Shift: ShiftState);
begin
if ((key = 13) and (trim(edit1.Text) <> ´´)) then
begin
edit2.text := ´teste´;
edit3.setfocus
end;
end;
Ai acontece o seguinte ele executa o edit3.setfocus e depois vai para o onKeyPress do formulario para fazer o Perform(WM_NEXTDLGCTL, 0, 0);
Dai eu ja tentei te tudo e nao consigo achar alguma luz....
para ser mais exato
procedure Tfrm1.edt1KeyDown(Sender: TObject; var Key: Word; Shift: ShiftState);
begin
if ((key = 13) and (trim(edit1.Text) <> ´´)) then
begin
edit2.text := ´teste´;
edit3.setfocus
end;
end;
Ai acontece o seguinte ele executa o edit3.setfocus e depois vai para o onKeyPress do formulario para fazer o Perform(WM_NEXTDLGCTL, 0, 0);
Dai eu ja tentei te tudo e nao consigo achar alguma luz....
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)