Ir para conteúdo
Fórum Script Brasil
  • 0

Enter Ao Inves De Tab


Guest augustoacf

Pergunta

Guest augustoacf

bom, eu copiei a dica do modelador de como fazer o enter ficar igual ao tab sendo que esta dando um erro no TCustomMemo) e no TMessageForm, me informaram que tenho que acrescentar no uses outros arquivos, quais seriam?

muito obrigado

incluir na Uses do form principal: Grids

adicione essa procedure:

CODE

procedure TFrmPrincipal.MudarComEnter(var Msg: TMsg; var Handled: Boolean);

begin

If not ((Screen.ActiveControl is TCustomMemo) or

(Screen.ActiveControl is TCustomGrid) or

(Screen.ActiveForm.ClassName = 'TMessageForm')) then begin

If Msg.message = WM_KEYDOWN then begin

Case Msg.wParam of

VK_RETURN,VK_DOWN : Screen.ActiveForm.Perform(WM_NextDlgCtl,0,0);

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

end;

end;

end;

end;

e no evento OnCreate o Form Principal digite a seguinte linha

CODE

Application.OnMessage := MudarComEnter;

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Substituindo TAB pelo ENTER

procedure TF_Padrao.FormKeyPress(Sender: TObject; var Key: Char);

begin

if Key = #13 then

if not (ActiveControl is TDBGrid) then

begin

Key := #0;

Perform(WM_NEXTDLGCTL, 0, 0);

end

else if (ActiveControl is TDBGrid) then

with TDBGrid(ActiveControl) do

if selectedindex < (fieldcount -1) then

selectedindex := selectedindex +1

else

selectedindex := 0;

end;

Ou então, pode-se tentar o seguinte método:

Utilize o evento onkeydown do componente e insira o seguinte comando:

if Key = VK_RETURN then Perform(Wm_NextDlgCtl,0,0);

este comando testa a tecla pressionada, se ela for um enter, manda o foco para o componente posterior.

Link para o comentário
Compartilhar em outros sites

  • 0

Enter funcionando como Tab em toda a aplicação

Uses

Grids

procedure TfrmPri.MudarComEnter(var Msg: TMsg; var Handled: Boolean);

begin

If not ((Screen.ActiveControl is TCustomMemo) or

(Screen.ActiveControl is TCustomGrid) or

(Screen.ActiveForm.ClassName = 'TMessageForm')) then

begin

If Msg.message = WM_KEYDOWN then

begin

Case Msg.wParam of

VK_RETURN,VK_DOWN : Screen.ActiveForm.Perform(WM_NextDlgCtl,0,0);

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

end;

end;

end;

end;

no evento OnCreate o Form Principal digite a seguinte linha

Application.OnMessage := MudarComEnter;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest augustoacf

muito obrigado DELPHI-Man32

sendo que o que eu preciso e o que voce mostrou no 2 exemplo que e igual ao meu, porem da erro referente a

TCustomMemo) or 'TMessageForm'

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...