foco no edit

29/12/2005

tenho um formulario com varios edits ...
kero que no evento keypress do edit, quando for detectado um enter , ele coloque o foco no proximo edit, como poderia fazer isso??

[]s


Fernando_cunha

Respostas

29/12/2005

Martins

Mude a propriedade KeyPreview do Form para True e insira no evento OnKeyPress do Form o código abaixo.

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


PS: Só lembrando q os componentes devem está ordenados corretamente para evitar confusão.

Boa sorte!!!


Responder Citar

29/12/2005

Michael

Apenas complementando a resposta do [b:dd0f0f29f9]Martins[/b:dd0f0f29f9], tbm é possível usar o método SelectNext da classe TWinControl.

[quote:dd0f0f29f9=´A Borland´][b:dd0f0f29f9]procedure [/b:dd0f0f29f9]SelectNext(CurControl: TWinControl; GoForward, CheckTabStop: Boolean);[/quote:dd0f0f29f9]

if Key = Chr(VK_RETURN) then
begin
  SelectNext(Sender as TWinControl, True, True);
  Key := Chr(VK_NONE);
end;



Pessoalmente uso constantes para os códigos das teclas em função de tornar mais légivel o código. ;-)

[]´s


Responder Citar