Fórum Tab pelo Enter #291932

16/08/2005

0

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

Responder

Posts

22/08/2005

Sistemald

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.


Responder

Gostei + 0

22/08/2005

Nildo

dai você faz a verificação:


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



Responder

Gostei + 0

22/08/2005

Sistemald

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]


Responder

Gostei + 0

22/08/2005

Sistemald

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


Responder

Gostei + 0

22/08/2005

Nildo

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:


Responder

Gostei + 0

22/08/2005

Sistemald

ok, vou colocar, valeu pelas dicas


Responder

Gostei + 0

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

Aceitar