Tab pelo Enter

Delphi

16/08/2005

Olá pessoal, utilizo o seguinte código , para trocar o enter pelo tab

If (Screen.ActiveControl is TCustomedit) or
   (Screen.ActiveControl is TDBLookupControl)  then
begin
 If Msg.message = WM_KEYDOWN then
 begin
  if Msg.wParam = VK_RETURN then
  keybd_event(VK_TAB, 0, KEYEVENTF_EXTENDEDKEY or 0, 0);
 end;
end;

e chamo ela assim no código do projeto

  application.OnMessage:= moduleFuncao.ProximoCampo;



Eu queria que quando o TCustomedit, e TDBLookupControl, tivesse códigos no evento OnKeyPRess, essa rotina acima fosse igonarado.


Sistemald

Sistemald

Curtidas 0

Respostas

Sistemald

Sistemald

16/08/2005

Alguém sabe como faço para que o código acima seja executado após o KeyPress dos componentes do form?


pois quando dou enter, ele executa o procedimento acima, e depois do componente. eu queria que fosse ao contrário.


GOSTEI 0
Nildo

Nildo

16/08/2005

dai você faz a verificação:


If not assigned( (Screen.ActiveControl as TCustomedit).OnKeyPress ) then 
   Executa a Rotina;



GOSTEI 0
Sistemald

Sistemald

16/08/2005

dai você faz a verificação:
If not assigned( (Screen.ActiveControl as TCustomedit).OnKeyPress ) then 
   Executa a Rotina;



Não funcionou, deu o seguinte erro:

[b:21238ef9a1]Undeclared identifier: ´OnKeyPress´[/b:21238ef9a1]


GOSTEI 0
Sistemald

Sistemald

16/08/2005

Se ao invés de TcustomEdit eu trocar para Edit, funciona, porém teria que colocar tabmém TDBedit, e outros descendentes de TCustomEdit


GOSTEI 0
Nildo

Nildo

16/08/2005

Se ao invés de TcustomEdit eu trocar para Edit, funciona, porém teria que colocar tabmém TDBedit, e outros descendentes de TCustomEdit


Então coloca, é a única forma :wink:


GOSTEI 0
Sistemald

Sistemald

16/08/2005

ok, vou colocar, valeu pelas dicas


GOSTEI 0
POSTAR