domingo, 2 de agosto de 2009

Dicas Delphi - Enter por Tab

Salve Salve,

Vamos fazer a tecla Tab seja substituida pela tecla Enter.

Primeiramente vamos alterar a propriedade "KeyPreview" do Form para true. Isso é necessario para que todo o evento de pressionamento de tecla seja "rapassado" do controle que possui o foco para o formulario que o contem.

Feito isso vamos ao evento "OnKeyPress" do Form acrescente o código abaixo:

procedure TFrmPadrao.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
end;
end;

O código é bem simples. Interceptamos o pressionamento de teclas e verificamos se a tecla foi o enter (#13). Caso seja enviamos uma mensagen para o proprio form para mudar o foco para o proximo controle. Esta ordem é definida atraves do tab order de cada componente.

All the best

Marcos Antonio

Nenhum comentário: