Fórum Que vergonha #5394

07/05/2009

0

nao consegui disparar o enter de dentro do dbgrid ?

[#VIDEO-108#]
Carlos Faria

Carlos Faria

Responder

Posts

07/05/2009

Carlos Faria

abc

[#VIDEO-108#]
Responder

Gostei + 0

07/05/2009

Rodrigo Mourão

Olá Carlos, não tem essa de vergonha não cara. Tem horas que travamos em coisas simples mesmo. Acontence comigo toda hora. Mas vamos lá.


Vá ate seu DBGrid. No Evento OnKeyPress coloque o código abaixo:


if Key = #13 then
begin
   ShowMessage('Enter Disparado !!!');
   DBGrid1.SetFocus;
end;

Basta alterar o showMessage pelo codigo que chama seu Formulario !!

Abs !!!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


Responder

Gostei + 0

07/05/2009

Carlos Faria

Descobri o problema menos mau que nao é tao vergonhoso assim   eu criei um metodo na uservicos do projeto para disparar a tecla enter e fechar o form no esc que sao esses procedimentos abaixo, se eu desabilitar a propriedade keypreview do form da certo mais ai eu perco os serviços ja criados nesse metodo ?     class procedure TServicos.EnterporTab(xForm: TForm);
begin
  xForm.KeyPreview := True;
  xForm.OnKeyPress := DOKeyPress; //Fazendo MethodPointer
end; class procedure TServicos.DOKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then // Enter
  begin
    key := #0;
    TForm(Sender).Perform(WM_NextDLGCTL, 0, 0);
  end
  else
    if key = #27 then // Esc
    begin
      key := #0;
      TeclaEsc(TForm(Sender));
    end;
end;    
 
Responder

Gostei + 0

08/05/2009

Rodrigo Mourão

Carlos Testei aqui e funcionou !!!

Mantenha o Key Preview como true mesmo, deixa tudo funcionando como está. Depois vai la no DBGrid e coloque o código que te indiquei a baixo. O DBGrid vai interceptar o pressionamento de tecla antes do form !!

Faça o teste ai, aqui funcionou perfeitamente !!

Abs !!!
Responder

Gostei + 0

09/05/2009

Carlos Faria

???????????????

[#VIDEO-109#]
Responder

Gostei + 0

09/05/2009

Carlos Faria

Olá Rodrigo   Como vc pode ver na video fiz todos os procedimentos corretamente e mesmo assim não funciona ,ate posso abrir mao de usar o rotina de serviços para fechar o form e configurar tecla enter desde que faça na mao aqui mesmo no form todos esses procedimentos  
Responder

Gostei + 0

11/05/2009

Rodrigo Mourão

Carlos irei mostrarei atraves de uma vídeo, assim matamos de vez !!!

Abs !!!
Responder

Gostei + 0

13/05/2009

Wesley Yamazack

Olá Carlos,
   Este chamado esta comigo agora.
   A ultima video que você postou não funcionou, você mandou a video "respostaMenuRodrigoCarreiro.avi", onde nela você mostra um problema com o actionmanager. Fico no aguardo desta video que você iria postar, pois tudo que o Rodrigo falou seria o correto a ser feito.

Att,

Wesley Y
Responder

Gostei + 0

14/05/2009

Carlos Faria

Ola wesley  vamos tentar sem o video mesmo   Eu tenho um formulario e gostaria de chamar outro form no evento onkeypress do dbgrid pra nao ficar usando o mouse,     fui la no envento e escrevi o seguinte codigo     if key =#13 then     chama o form aqui       o que acontece e que preciso fechar esse form tbem com a tecla esc porem estou usando aquela rotina da unit de serviços para trocar enter por tab e etc aquela que vc fez   estando essa rotina habilita o envento onkeypress do dbgrid nao é disparado
Responder

Gostei + 0

14/05/2009

Carlos Faria

Ola wesley http://www.4shared.com/file/105256387/651e4ba1/RespostaTeclaenterWesley.html   segue o link da video para vc analizar
Responder

Gostei + 0

16/05/2009

Carlos Faria

Pessoal se vcs quizerem matar todos esses chamados hoje ainda estou online
Responder

Gostei + 0

21/05/2009

Carlos Faria

como disse veja nao video aula como esta sem sentido esse negocio
Responder

Gostei + 0

21/05/2009

Rodrigo Mourão

Carlos euy assisti a video aula  !!!

O que ocorre e o seguinte, ou voce usa a rotina da classe TServico ou entao usa o Evento do DBGrid. A classe TService intercepta o Enter do DBGrid antes que o evento chegue no DBGrid. Entao quando voce pressiona o Entrer no DBGrid ele joga o foco para o proximo controle. Isso ocorre pq a classe servico faz isso.

Agora voce tem que escolher. Usa o servico neste formulario que tem o DBGrid ou não !!!

Abs !!
Responder

Gostei + 0

21/05/2009

Carlos Faria

Ola Rodrigo   Eu posso abrir mao da classe da unit servicos sim desde que eu feche o form com a tecla esc e abra o frmatualizapedido na tecla enter feito isso sem problema ta resolvido o chamado    
Responder

Gostei + 0

21/05/2009

Carlos Faria

Ola Rodrigo   Nesse chamado bobo aqui eu vou fazer nao mao mesmo se inventar em troca vc capricha numa video aula sobre a rotina que dispara o backup no primeiro dia do mes as 0:00 e uma video aula caprichada sobre o chamado arquivo de foto2 como carregar e e salvar o caminho no banco     nesse chamado aqui vou fazer do meu jeito mesmo   evento onkeypress do dbgrid    if Key = #13 then
    begin
      abreformulario(TfrmAtualizaPedido,frmAtualizaPedido);
    end;     evento onkeydown do formulario      case key of
          VK_ESCAPE: close;
     end;     funciona beleza assim para que inventar ?   vc caprichando nas videos que te sitei eu termino meu projeto aqui
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar