Ir para conteúdo
  • Cadastre-se

Transformar enter em tab dbgrid lazarus


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

Recommended Posts

  • Membros Pro
Postado

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.

  • Consultores
Postado

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);

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

  • Membros Pro
Postado
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.

  • Membros Pro
Postado

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.

  • Moderadores
Postado (editado)
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
  • Membros Pro
  • Solution
Postado

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.

  • Consultores
Postado

Obrigado por reportar.

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

Consultora ACBr Pro

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

  • Este tópico foi criado há 2210 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...