Array
(
)

foco no edit

Fernando_cunha
   - 29 dez 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


Martins
   - 29 dez 2005

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

#Código


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!!!


Michael
   - 29 dez 2005

Apenas complementando a resposta do Martins, tbm é possível usar o método SelectNext da classe TWinControl.


Citação:
procedure SelectNext(CurControl: TWinControl; GoForward, CheckTabStop: Boolean);


#Código

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