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 

Posicionar cursor no DBGrid e mudar cor [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Mark1
Membro Junior
Membro Junior


Registrado: Quarta-Feira, 7 de Mai de 2008
Mensagens: 365

MensagemEnviada: Sáb Dez 31, 2011 8:10 pm    Assunto: Posicionar cursor no DBGrid e mudar cor [RESOLVIDO] Responder com Citação

Boa noite.

Para inserir dados sempre utilizei forms ao invés de fazê-lo diretamente pelo DBGrid.

Mas agora tenho em meu sistema algumas tabelas auxiliares e queria inserir e editar os dados diretamente no DBGrid, mas estou apanhando um pouco ainda.
Duas questões:

1) Ao incluir um registro utilizo DataSet.Append. Inclui uma nova linha mas não aparece o cursor. Como fazer o cursor aparecer neste novo registro para que o usuário possa vê-lo ?


2) Como alterar a cor de fundo deste novo registro para que também facilite a visualização para o usuário ?

Grato,

Marcos


Editado pela última vez por Mark1 em Dom Jan 01, 2012 12:15 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mark1
Membro Junior
Membro Junior


Registrado: Quarta-Feira, 7 de Mai de 2008
Mensagens: 365

MensagemEnviada: Dom Jan 01, 2012 12:14 pm    Assunto: Posicionar cursor no DBGrid e mudar cor Responder com Citação

Pesquisando na net achei os seguintes códigos:

Para colocar o cursor em alguma posição no DBGrid
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  h: THandle;
begin
  {set a focus to DBGrid}
  DbGrid1.SetFocus;

  {switch to edit mode}
  DbGrid1.EditorMode := True;

  {receive the handle of current window with edit}
  h := Windows.GetFocus;

  {send the EM_SETSEL.
   You must include the two parameters: the start position of cursor and end
   position of selection. In the next example, I set a cursor in position of
   third character without any selection}
  SendMessage(h, EM_SETSEL, 3, 3);
end;


Para pintar o fundo da linha do DBGrid quando estiver em modo de inserção/edição
Código:
procedure TfrmTabelasAuxiliares.btnINCClick(Sender: TObject);
begin
  Manutencao(true);

  dbgFERFIX.ReadOnly := False;

  TClientDataSet(Ds.DataSet).Append;

  TEdit(dbgFERFIX.Controls[0]).Color := clYellow;
end;


É isso aí !

FELIZ 2012 PARA TODOS !!

Marcos
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
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
Página 1 de 1

 
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