Ir para conteúdo
  • Cadastre-se

dev botao

Transformar enter em tab dbgrid lazarus


Ver Solução Respondido por Darlan Souza,
  • Este tópico foi criado há 1393 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde.

No dbgrid do lazarus ao teclar enter o cursor fica dentro da coluna selecionada e só passa para a próxima coluna quando teclo enter novamente.

Existe alguma configuração que ao teclar enter no grid o foco vá direto para a próxima coluna sem entrar dentro da coluna ?

Darlan Souza

Ninguém sabe tanto que não possa aprender e nem tão pouco que não possa ensinar.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa noite

chegou a tentar:

Mude a propriedade "KeyPreview" do Form para true

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    DBGrid1.Perform(WM_KEYDOWN, VK_TAB, 0);
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Citar

chegou a tentar:

Mude a propriedade "KeyPreview" do Form para true

Sim, "KeyPreview" do Form = true.

 

Percebi debugando que ao teclar enter no grid o evento "KeyPress" não é acionado.

Não aciona o evento do grid e nem o evento "KeyPress" do Form.

Darlan Souza

Ninguém sabe tanto que não possa aprender e nem tão pouco que não possa ensinar.

Link para o comentário
Compartilhar em outros sites

Obrigado pela ajuda Juliomar.

No KeyDown ele passa, porém infelizmente o efeito não mudou nada. Continuo tendo que teclar enter duas vezes para passar para a próxima coluna.

Será a versão do lazarus? Estou usando a 2.0.8

Qual versão vc usa ?

Darlan Souza

Ninguém sabe tanto que não possa aprender e nem tão pouco que não possa ensinar.

Link para o comentário
Compartilhar em outros sites

9 horas atrás, Darlan Souza disse:

Obrigado pela ajuda Juliomar.

No KeyDown ele passa, porém infelizmente o efeito não mudou nada. Continuo tendo que teclar enter duas vezes para passar para a próxima coluna.

Será a versão do lazarus? Estou usando a 2.0.8

Qual versão vc usa ?

tenta no onkeypress do dbgrid

If Key = #13 Then

Begin

if dbgrid.SelectedIndex = 10 Then // ou dbgrid.SelectedIndex = dbgrid.Columns.Count

dbgrid.SelectedIndex := 1

Else

dbgrid.SelectedIndex := dbgrid.SelectedIndex  + 1;

End;

é só adaptar  a sua necessidade.

Editado por datilas
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solution

Consegui com esse código 

  if (key=VK_RETURN) then
  begin
    Keybd_event(VK_TAB,0,0,0);
    key:=0;
  end;

Embora não tenha funcionado com o RxDBGrid, mas funcionou com o DBGrid. Já tá bom demais. 

Obrigado pessoal.

  • Curtir 1

Darlan Souza

Ninguém sabe tanto que não possa aprender e nem tão pouco que não possa ensinar.

Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1393 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.