Que vergonha
nao consegui disparar o enter de dentro do dbgrid ?
[#VIDEO-108#]
[#VIDEO-108#]
Carlos Faria
Curtidas 0
Respostas
Carlos Faria
07/05/2009
abc
[#VIDEO-108#]
[#VIDEO-108#]
GOSTEI 0
Rodrigo Mourão
07/05/2009
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
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
GOSTEI 0
Carlos Faria
07/05/2009
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;
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;
GOSTEI 0
Rodrigo Mourão
07/05/2009
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 !!!
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 !!!
GOSTEI 0
Carlos Faria
07/05/2009
???????????????
[#VIDEO-109#]
[#VIDEO-109#]
GOSTEI 0
Carlos Faria
07/05/2009
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
GOSTEI 0
Rodrigo Mourão
07/05/2009
Carlos irei mostrarei atraves de uma vídeo, assim matamos de vez !!!
Abs !!!
Abs !!!
GOSTEI 0
Wesley Yamazack
07/05/2009
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
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
GOSTEI 0
Carlos Faria
07/05/2009
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
GOSTEI 0
Carlos Faria
07/05/2009
Ola wesley
http://www.4shared.com/file/105256387/651e4ba1/RespostaTeclaenterWesley.html
segue o link da video para vc analizar
GOSTEI 0
Carlos Faria
07/05/2009
Pessoal se vcs quizerem matar todos esses chamados hoje ainda estou online
GOSTEI 0
Carlos Faria
07/05/2009
como disse veja nao video aula como esta sem sentido esse negocio
GOSTEI 0
Rodrigo Mourão
07/05/2009
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 !!
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 !!
GOSTEI 0
Carlos Faria
07/05/2009
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
GOSTEI 0
Carlos Faria
07/05/2009
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
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
GOSTEI 0
Carlos Faria
07/05/2009
Esqueci de dizer da um ok no chamado ai vamos fechar esse aqui
GOSTEI 0