ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

foco no DbGrid
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Qua Mar 20, 2013 4:52 pm    Assunto: foco no DbGrid Responder com Citação

pessoal ja dei uma procura mais não encontrei
estou no delphi xe2
tenho um grid com varios registros e varias colunas, na primeira coluna preciso do foco ai na segundo coluna o foco não pode passar por ela ai vem a terceira coluna precisa do foco ai tenho que pular para a segundo registro e fazer o mesmo processo como fazer essa interação de foco
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Mar 20, 2013 7:47 pm    Assunto: Responder com Citação

Boa noite, nildglan.
Basta definir a coluna do DBGrid como ReadOnly = True. Assim o foco não entrará nela.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Qua Mar 20, 2013 10:13 pm    Assunto: Responder com Citação

batera o problema é q o foco ta saindo do dbgrid exemplo o foco esta na primeira coluna e quando pressiono enter o foco sai dbgrid e vai pra outro controle em vez de ir para outra coluna
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Mar 20, 2013 11:13 pm    Assunto: Responder com Citação

Experimente alterar a propriedade dgTabs da DBGrid para True, e dgRowSelect para False. Essas duas propriedades estão dentro da propriedade Options.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Qui Mar 21, 2013 2:16 pm    Assunto: Responder com Citação

dgTabs = true e dgRowSelect = false e mesmo assim o foco sai
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mar 21, 2013 3:01 pm    Assunto: Responder com Citação

Boa tarde,

O problema ocorre apenas com a tecla Enter?
Com o Tab funciona corretamente?
Então acho melhor você postar o código utilizado para fazer com que o foco seja alterado quando o Enter é pressionado.

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imobiliarias-em-suzano
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Qui Mar 21, 2013 6:00 pm    Assunto: Responder com Citação

imex com a tecla tab funciona perfeiro com enter é que não da certo
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mar 21, 2013 8:25 pm    Assunto: Responder com Citação

Acredito que você utiliza código para alterar o foco para outro componente quando a tecla Enter é pressionada.
Se é esse o caso, acho que você vai ter que alterar esse código para verificar se o controle ativo é um DBGrid (ActiveControl is TDBGrid), e caso seja, simultar o pressionamento da tecla Tab.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Qui Mar 21, 2013 8:29 pm    Assunto: Responder com Citação

eu uso o codigo no keypress do form , como então eu simulo a tecla tab?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mar 21, 2013 8:35 pm    Assunto: Responder com Citação

Experimente fazer um teste com esse código:

Código:
      keybd_event(VK_TAB, 0, 0, 0);
      keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Qui Mar 21, 2013 9:02 pm    Assunto: Responder com Citação

mais eu coloco em qual evento?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mar 21, 2013 10:28 pm    Assunto: Responder com Citação

No meio do seu código para a tecla Enter, mais ou menos assim:

Código:
  if Key = #13 then
      if ActiveControl is TDBGrid then
        begin
          keybd_event(VK_TAB, 0, 0, 0);
          keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0)
        end
      else
        begin
          // código para a tecla Enter aqui
        end;


Espero que ajude.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Sex Mar 22, 2013 11:31 am    Assunto: Responder com Citação

imex

até que dessa forma deu certo

if Key = #13 then
if ActiveControl is TDBGrid then
begin
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0)
end
else
begin
Key:= #0;
Perform(Wm_NextDlgCtl,0,0);
end;


o problema é que realmente agora esse só sai se vc for com mouse,
tenho em algums programas que ja vir usando dbgrid que quando ele sai do primeiro registro ele pula para o segundo se não for inseriodo registro ele sai e vai para o outro controle, vc sabe desse código?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Mar 22, 2013 12:17 pm    Assunto: Responder com Citação

Quando deveria ir para o outro controle? Após pressionar Enter ou Tab quando o foco está na última coluna da direita?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
nildglan
Colaborador
Colaborador


Registrado: Sábado, 16 de Agosto de 2008
Mensagens: 1564
Localização: Goianésia do Pará

MensagemEnviada: Sex Mar 22, 2013 2:37 pm    Assunto: Responder com Citação

imex, é assim quando eu entro no grid ele gerar um numero certo? ai eu navego com a tecla enter até a útima coluna ai pressiono enter ele vai pra o segundo registro, no sistema que vir quando ele entra no segundo registro se eu não inserir registro ele sai o foco
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB