Utilizando o Enter ao invés do TAB

Sempre estamos nos atualizando tecnológicamente mas, mesmo assim, às vezes precisamos fazer coisas do passado. Porque digo isso?

É que antigamento, em sistemas DOS utilizávamos a tecla Enter ou Return para avançarmos de campo. Com a chegada do Windows tivemos que utilizar a tecla TAB para trocar de campo. A princípio ninguém gostou mas, analisando melhor, vejo que essa troca tem o objetivo acelerar o trabalho do digitador. Pensem que uma digitação de números, na maioria das vezes envolve somente a mão direita, ficando a esquerda livre. Então porque não trocar de campo usando a mão esquerda e a tecla TAB, diminuíndo assim as tarefas da mão direita?

Creio que por vícios do DOS, sempre teremos que alterar nossos sistemas para alterar o Tab por Enter.

Então para quem quer usar o Enter, siga as instruções abaixo:

º - No evento OnShow do formulário principal coloque o seguinte código:

Application.OnMessage := ProcessaMsg;

Esse código deve ser o último, caso você já tenha outros código no mesmo evento (OnShow)

2º - Suba até a seção "private" da unit

3º - Abaixo da palavra "private" coloque a seguinte linha, que irá criar um procedimento:

procedure ProcessaMsg(var Msg: TMsg; var Handled: Boolean);

4º - Com o cursor do mouse posicionando na linha que você acabou de digitar, pressione

as teclas CTRL+SHIFT+C

Isso montará a estrutura do procedimento.

5º - Copie o código abaixo para o procedimento que você acabou de criar (entre Begin e End;).

if Msg.message = WM_KEYDOWN then

if not (Screen.ActiveControl is TCustomMemo) and

not (Screen.ActiveControl is TButtonControl) then

begin

if not (Screen.ActiveControl is TCustomControl) then

begin

if Msg.wParam = VK_Down then

Msg.wParam := VK_Tab;

if Msg.wParam = VK_UP then

begin

Msg.wParam := VK_CLEAR;

Screen.ActiveForm.Perform(WM_NextDlgCtl,1,0);

end;

end;

if Msg.wParam = VK_Return then

Msg.wParam := VK_Tab;

end;

6º Na Cláusula Uses adicione StdCtrls.

É isso. Agora é só compilar e testar.

Ah esse código não tem o problema de emitir som a cada campo que é trocado, como acontece em alguns códigos que a gente encontra por aí.