Jump to content

diadoacbr

Transformar enter em tab dbgrid lazarus


Go to solution Solved by Darlan Souza,
  • Este tópico foi criado há 804 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 to comment
Share on other sites

  • Consultores

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
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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.

Edited by datilas
  • Like 1
Link to comment
Share on other 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.

  • Like 1

Darlan Souza

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

Link to comment
Share on other sites

  • Administradores

Obrigado por reportar.

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

Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

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 to comment
Share on other sites

  • Este tópico foi criado há 804 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.