o enter nao funciona
galera sou nova no delphi e to fazendo um sistema
ja pesquisei sobre o enter
bom eu fiz uma funcao pra funcionar o emtre no meu from e nao ta dando certo arrumei a propriedade keypreview esta como true
e nos eventos onkeypress esta o seguinta codigo
if Key = #13 then
if not (ActiveControl is TDBGrid) then
begin
Key := 0;
Perform(WM_NEXTDLGCTL, 0, 0);
end
else
if (ActiveControl is TDBGrid) then
with TDBGrid(ActiveControl) do
if selectedindex < (fieldcount - 1) then
selectedindex := selectedindex + 1
else
selectedindex := 0;
COMO ESTA EM UM OUTRO SISTEMA MEU
ESSA FUNCAO ESTA TANTO NO MENU PRINCIPAL COMO NO FORM QUE ESTA SENDO CHAMADO E NAO TA FUNCIONANDO O ENTER NO SISTEMA
SE VCS PUDEREM ME AJUDAREM EU FICAREI MUITO GRATA
BEIJOSSCHNEIDER
[color=green:0e629a226f][b:0e629a226f]Tiitulo Editado, retirado ´URGENTISSIMO´[/b:0e629a226f][/color:0e629a226f]
ja pesquisei sobre o enter
bom eu fiz uma funcao pra funcionar o emtre no meu from e nao ta dando certo arrumei a propriedade keypreview esta como true
e nos eventos onkeypress esta o seguinta codigo
if Key = #13 then
if not (ActiveControl is TDBGrid) then
begin
Key := 0;
Perform(WM_NEXTDLGCTL, 0, 0);
end
else
if (ActiveControl is TDBGrid) then
with TDBGrid(ActiveControl) do
if selectedindex < (fieldcount - 1) then
selectedindex := selectedindex + 1
else
selectedindex := 0;
COMO ESTA EM UM OUTRO SISTEMA MEU
ESSA FUNCAO ESTA TANTO NO MENU PRINCIPAL COMO NO FORM QUE ESTA SENDO CHAMADO E NAO TA FUNCIONANDO O ENTER NO SISTEMA
SE VCS PUDEREM ME AJUDAREM EU FICAREI MUITO GRATA
BEIJOSSCHNEIDER
[color=green:0e629a226f][b:0e629a226f]Tiitulo Editado, retirado ´URGENTISSIMO´[/b:0e629a226f][/color:0e629a226f]
Schneider
Curtidas 0
Respostas
Nildo
08/03/2004
Tente remover a linha
Key := #0;
e veja o resultado...
Key := #0;
e veja o resultado...
GOSTEI 0
Spider
08/03/2004
tente assim
coloque
keybd_event(VK_TAB, 0, 0, 0);
no lugar de
Perform(WM_NEXTDLGCTL, 0, 0);
coloque
keybd_event(VK_TAB, 0, 0, 0);
no lugar de
Perform(WM_NEXTDLGCTL, 0, 0);
GOSTEI 0
Schneider
08/03/2004
Tente remover a linha
Key := #0;
e veja o resultado...
nao deu certo
continua na mesma
GOSTEI 0
Schneider
08/03/2004
tente assim
coloque
keybd_event(VK_TAB, 0, 0, 0);
no lugar de
Perform(WM_NEXTDLGCTL, 0, 0);
tentei tbm e nao deu certo nao mudou nada
GOSTEI 0
Weber
08/03/2004
Não sei quanto ao DBGrid mas para o enter funcionar como TAB pulando de componente para componente basta colocar o KeyPreview=True no formulário.
No OnKeyDown do Formulário coloque
if Key = vk_RETURN then
Perform(WM_NEXTDLGCTL,0,0);
No OnKeyDown do Formulário coloque
if Key = vk_RETURN then
Perform(WM_NEXTDLGCTL,0,0);
GOSTEI 0
Gandalf.nho
08/03/2004
Vá no site [url]http://delphi.icm.edu.pl/[/url] e pegue o componente DosMove, que mapeia o ENTER como TAB
GOSTEI 0
Andrey
08/03/2004
Se vc disse q já usa essa função normalmente em outro sistema e funciona, provavelmente o problema não deve estar nela, mas no jeito q vc a está utilizando. Ai fica mais dificil...tenta focar sua atenção nisso...
Certifique-se de q o link esteja no evento onkeypress do form(vá em events e dê um duplo clique)
Certifique-se de q o link esteja no evento onkeypress do form(vá em events e dê um duplo clique)
GOSTEI 0
Schneider
08/03/2004
Não sei quanto ao DBGrid mas para o enter funcionar como TAB pulando de componente para componente basta colocar o KeyPreview=True no formulário.
No OnKeyDown do Formulário coloque
if Key = vk_RETURN then
Perform(WM_NEXTDLGCTL,0,0);
bom fis o q vc sugeriu mais nem passa por dentro dessa funcao quando abre o meu form tanto o principal quanto o que é chamado apos dele que deveria usar o enter
brigada
GOSTEI 0
Schneider
08/03/2004
Se vc disse q já usa essa função normalmente em outro sistema e funciona, provavelmente o problema não deve estar nela, mas no jeito q vc a está utilizando. Ai fica mais dificil...tenta focar sua atenção nisso...
Certifique-se de q o link esteja no evento onkeypress do form(vá em events e dê um duplo clique)
tbm ja fis isso aranquei a funcao dali ja e ja coloquei novamente
dei dois clicks no evento e tudo e nada da certo to pra ficar loka ja
beijos
GOSTEI 0
Paulo Trajano
08/03/2004
Já que o problema é URGENTÍSSIMO, aqui no ClubeDelphi tem um pacote de componentes chamado MDComponents com o componente MDTabEnter.
http://www.clubedelphi.com.br/compo/index.asp
Nele tem uma propriedade chamada ´Classes Not Afected´ (salvo engano) que vc pode escolher as classes de componentes que não serão afetadas por ele, ou seja onde o ENTER vai funcionar como ENTER mesmo. Ah, e só basta colocar o componente no formulário e ajustar essa propriedade, não se esquecendo de copiar as DCU´S para a pasta onde está seu projeto.
Espero ter ajudado
Abraço
http://www.clubedelphi.com.br/compo/index.asp
Nele tem uma propriedade chamada ´Classes Not Afected´ (salvo engano) que vc pode escolher as classes de componentes que não serão afetadas por ele, ou seja onde o ENTER vai funcionar como ENTER mesmo. Ah, e só basta colocar o componente no formulário e ajustar essa propriedade, não se esquecendo de copiar as DCU´S para a pasta onde está seu projeto.
Espero ter ajudado
Abraço
GOSTEI 0
Paulo Trajano
08/03/2004
Desculpe, clique no link ´Diversos´ que vc vai achar
GOSTEI 0
Schneider
08/03/2004
[quote:576c37d37d=´Paulo Trajano´]Desculpe, clique no link ´Diversos´ que vc vai achar[/quote:576c37d37d]
Paulo brigada mais é que nao gostaria de colocar componentes novos no meu sistema pois a firma onde trabalho nao concorta se é que vc me entende
beijos
brigada
Paulo brigada mais é que nao gostaria de colocar componentes novos no meu sistema pois a firma onde trabalho nao concorta se é que vc me entende
beijos
brigada
GOSTEI 0
Paulo Trajano
08/03/2004
...se é que vc me entende
hehe, entendo sim mas o que vale é a intenção :wink:
GOSTEI 0
Schneider
08/03/2004
[quote:870a4f9944=´Paulo Trajano´]
hehe, entendo sim mas o que vale é a intenção :wink:[/quote:870a4f9944]
claro que sim brigada mesmo
beijos
:wink: :D
...se é que vc me entende
hehe, entendo sim mas o que vale é a intenção :wink:[/quote:870a4f9944]
claro que sim brigada mesmo
beijos
:wink: :D
GOSTEI 0
Weber
08/03/2004
schneider, verifique se o KeyPreview está como True.
Você deverá colocar o ir acima em todos os seus formulários no OnKeyDown de cada um.
No meu está assim e funciona.
Você deverá colocar o ir acima em todos os seus formulários no OnKeyDown de cada um.
No meu está assim e funciona.
GOSTEI 0
Denis200
08/03/2004
Caro colega nao sei se no dbgrid funciona
mas faço da seguinte forma
no form no evento onkeydow
digite a seguinte linha
if key= vk_return then
selectnext(sender as twincontrol,true,true);
e depois
selecione todos os componentes e mude a propriedade
onkeydow = formkeydow
mas faço da seguinte forma
no form no evento onkeydow
digite a seguinte linha
if key= vk_return then
selectnext(sender as twincontrol,true,true);
e depois
selecione todos os componentes e mude a propriedade
onkeydow = formkeydow
GOSTEI 0
Nildo
08/03/2004
O que acontece? Você da o ENTER e ele simplesmente não funciona?
GOSTEI 0
Nildo
08/03/2004
O que acontece? Você da o ENTER e ele simplesmente não funciona? Tipo, nao muda de componente ou não acontece nada, nem mesmo o ENTER chega a ser processado?
GOSTEI 0
Schneider
08/03/2004
O que acontece? Você da o ENTER e ele simplesmente não funciona? Tipo, nao muda de componente ou não acontece nada, nem mesmo o ENTER chega a ser processado?
nao o nao muda de compomente e nem passa pela funcao colocada la no onkeypress ou onkeydow
GOSTEI 0
Schneider
08/03/2004
schneider, verifique se o KeyPreview está como True.
Você deverá colocar o ir acima em todos os seus formulários no OnKeyDown de cada um.
No meu está assim e funciona.
pois é no meu outro sistema tbm funciona a funcao que eu coloquei no onkeypress mais nesse aki agora nao tem jeito de funcionar e esta sim tudo como true
GOSTEI 0
Schneider
08/03/2004
Caro colega nao sei se no dbgrid funciona
mas faço da seguinte forma
no form no evento onkeydow
digite a seguinte linha
if key= vk_return then
selectnext(sender as twincontrol,true,true);
e depois
selecione todos os componentes e mude a propriedade
onkeydow = formkeydow
denis no meu edit nao existe a propriedade onkeydow so o evendo onkeydow????????????????????
GOSTEI 0
Nildo
08/03/2004
Verifique se existe a palavra: WM_KEYDOWN no seu projeto. Se existir verifique se a procedure que ela se encontra você não está cancelando se a tecla for #13
GOSTEI 0
Schneider
08/03/2004
Verifique se existe a palavra: WM_KEYDOWN no seu projeto. Se existir verifique se a procedure que ela se encontra você não está cancelando se a tecla for #13
bom essa palavra nao existe no meu projeto
GOSTEI 0
Paulo Trajano
08/03/2004
No seu formulário tem algum TMemo ou vc já alterou as propriedades DEFAULT de todos os botões?
GOSTEI 0
Schneider
08/03/2004
[quote:4a96593770=´Paulo Trajano´]No seu formulário tem algum TMemo ou vc já alterou as propriedades DEFAULT de todos os botões?[/quote:4a96593770]
eu nao uso nenhum tMeno so edit um Tradiogrup, um tNotboock e um grid mais que é so pra mostrar as coisas nao fas mais nada nele e um Tgrupbox so isso
eu nao uso nenhum tMeno so edit um Tradiogrup, um tNotboock e um grid mais que é so pra mostrar as coisas nao fas mais nada nele e um Tgrupbox so isso
GOSTEI 0
Denis200
08/03/2004
[size=18:89a307a9cc][/size:89a307a9cc]
Desculpe mas a propriedade é onkeydown e no dbgrid não funciona
Desculpe mas a propriedade é onkeydown e no dbgrid não funciona
GOSTEI 0
Paulo Trajano
08/03/2004
Incrível, no meu tb dá tudo certo
bom essa palavra nao existe no meu projeto[/quote:874aad8e82]
Tenta pesquisar ´13´ aí pra ver. Não esquece de pesquisar por ´Find in files´
[quote:874aad8e82=´nildo´]Verifique se existe a palavra: WM_KEYDOWN no seu projeto. Se existir verifique se a procedure que ela se encontra você não está cancelando se a tecla for #13
bom essa palavra nao existe no meu projeto[/quote:874aad8e82]
Tenta pesquisar ´13´ aí pra ver. Não esquece de pesquisar por ´Find in files´
GOSTEI 0
Schneider
08/03/2004
[quote:07bd619519=´Paulo Trajano´]Incrível, no meu tb dá tudo certo
bom essa palavra nao existe no meu projeto[/quote:07bd619519]
Tenta pesquisar ´13´ aí pra ver. Não esquece de pesquisar por ´Find in files´[/quote:07bd619519]
pois é icrivel mesmo pois no meu outro sistema funciona tbm beleza e nesse outro aki naum tem jeito
[quote:07bd619519=´nildo´]Verifique se existe a palavra: WM_KEYDOWN no seu projeto. Se existir verifique se a procedure que ela se encontra você não está cancelando se a tecla for #13
bom essa palavra nao existe no meu projeto[/quote:07bd619519]
Tenta pesquisar ´13´ aí pra ver. Não esquece de pesquisar por ´Find in files´[/quote:07bd619519]
pois é icrivel mesmo pois no meu outro sistema funciona tbm beleza e nesse outro aki naum tem jeito
GOSTEI 0
Denis200
08/03/2004
me desculpe novamente é no evento
GOSTEI 0
Nildo
08/03/2004
Procure por #13 ou Chr(13)
Você chegou a alterar alguma propriedade do Projeto? Se não, utilize o WinSight para debuggar as mensagens, você abre o seu programa, abre o WinSight (Menu Iniciar->Programas->Borland), ativa ele e tecle ENTER no seu sistema, verifique se amnesgaem WM_KEYDOWN é processada
Você chegou a alterar alguma propriedade do Projeto? Se não, utilize o WinSight para debuggar as mensagens, você abre o seu programa, abre o WinSight (Menu Iniciar->Programas->Borland), ativa ele e tecle ENTER no seu sistema, verifique se amnesgaem WM_KEYDOWN é processada
GOSTEI 0
Schneider
08/03/2004
Procure por #13 ou Chr(13)
Você chegou a alterar alguma propriedade do Projeto? Se não, utilize o WinSight para debuggar as mensagens, você abre o seu programa, abre o WinSight (Menu Iniciar->Programas->Borland), ativa ele e tecle ENTER no seu sistema, verifique se amnesgaem WM_KEYDOWN é processada
bom so passa por dentro da funcao depois q chega no notbook que tenho no sistema e ainda nao passa por dentro de toda a funcao passa no if e cai fora
GOSTEI 0
Nildo
08/03/2004
Já tentou o Debugger?
GOSTEI 0
Schneider
08/03/2004
Já tentou o Debugger?
ja coloquei breakpont en todas a funcao que possa pensar e ja tentei de todas as formas ja apaguei tudo que possa ter de enter no meu form principal e no secundario e coloquei novamente e nada...
nada deu certo ate agora
nao sei mais o q fazer
GOSTEI 0
Schneider
08/03/2004
galera ja achei o erro eu estava usando um bitbtn e o default dele tava como tru quando o kind dele estava como ok erra so mudar para true que iria funcinar
mais valeu pela ajuda de vcs fico muito grata por saber que se eu realmente precisar vcs vao estar aki pra me ajudar
beijos
ate a proxima
mais valeu pela ajuda de vcs fico muito grata por saber que se eu realmente precisar vcs vao estar aki pra me ajudar
beijos
ate a proxima
GOSTEI 0
Paulo Trajano
08/03/2004
[quote:84864f2964=´Paulo Trajano´]...vc já alterou as propriedades DEFAULT de todos os botões?[/quote:84864f2964]
Às vzs o erro é tão simples que a gente ñ consegue achar!
Se precisar, estamos aí :wink:
Às vzs o erro é tão simples que a gente ñ consegue achar!
Se precisar, estamos aí :wink:
GOSTEI 0