Tirar o ENTER do Buffer

Delphi

23/10/2003

Colegas,

Tenho num FORM (que está com a propriedade
KeyPreview=TRUE, para facilitar o Enter no lugar
do Tab dentros dos DataAwares), um componente
DBDATEEDIT do componente RX.

Este é o último DataAware antes do botão GRAVAR,
que aliás, é um BitButton.

Em todos os DataWares(Dbedits) do form, no evento
OnKeyDown tenho a seguinte instrução:
if key=VK_RETURN then perform(WM_NEXTDLGCLT,0,0)

Isto faz com que ao se teclear ENTER(RETURN) o cursor
pule para o próximo objeto sem precisarmos teclar o
rejeitado TAB.

Isto funciona direitinho com todos os DataWares, porém
com este TDBDATEEDIT do pacote RX, o cursor até
pula para o próximo, porém ele vai com o RETURN
no buffer e aperta (clicka) automaticamente no próximo
objeto, que no meu caso é o botão GRAVAR, e grava
o registro sem esperar por minha decisão.

Há saídas para isto?
Eu querira suprimir este RETURN que vai na frente
do cursor.


Valmir


Cardoso

Cardoso

Curtidas 0

Respostas

Brnz

Brnz

23/10/2003

Bom... esse erro tb me surpreende... mais... vambora...

Tente

If Key=VK_RETURN then
begin
key:=#0;
perfor...(blablabla);
end;


achu q funfa...

Vlws...

Brnz...


GOSTEI 0
Cardoso

Cardoso

23/10/2003

Ola colega,

Obrigado pela dica, porém náo deu certo.

Valmir


GOSTEI 0
Adilsond

Adilsond

23/10/2003

Voce deve fazer, conforme o brnz informou, mas no evento OnKeyPress.
Só mude o VK_RETURN por #13


GOSTEI 0
Cardoso

Cardoso

23/10/2003

Colegas,

Tentei como vcs estão dizendo, porém não deu certo.

Então parti para uma saída nada convencional.

Coloquei um botãzinho ao lado do objeto tdbdateedit.
Iniciei ele VISIBLE:=FALSE

Quando o tdbdateedit perceber que foi teclado ENTER
(pelo ONKEYDOWN ou ONKEYPRESS), então torno o
botãzinho VISIBLE:=TRUE.

No ONEXIT do TDBDATEEDIT, coloco o botãozinho
novamente para VISIBLE:=FALSE.

Pronto, é como o botãozinho estivesse alí, só para
levar a primeira pancada. Como nele não tem evento
algum atrelado, então o cursor bate nele e passa
automaticamente para o verdadeiro botão (GRAVAR)
que é o que eu queria.

Que feio né???

OFF-TOPIC
Ei Adilson! Sou vizinho teu, aqui de Itajaí. Abraços!

Valmir


GOSTEI 0
POSTAR