OnExit Chamando OnKeyDown
Como chamar o evento OnKeyDown de dentro do OnExit?
Paulo
Curtidas 0
Respostas
Eixox
26/12/2005
fazer isso da seguinte forma:
onExit....
Controle.onKeyDown(Sender);
onExit....
Controle.onKeyDown(Sender);
GOSTEI 0
Martins
26/12/2005
Como chamar o evento OnKeyDown de dentro do OnExit?
Qual o objetivo disso?
GOSTEI 0
Martins
26/12/2005
Teste dessa forma, talvez exista outra menos trabalhosa ou mais correta, eu não sei, mas assim deve funcionar.
Crie uma procedure ex:
Coloque os códigos q sejam necessários
no Evento OnExit coloque assim:
Valew!!!
Crie uma procedure ex:
procedure Teste( Sender: TObject; var Key: Word; Shift: TShiftState );
Coloque os códigos q sejam necessários
no Evento OnExit coloque assim:
Form1.OnKeyDown := Teste;
Valew!!!
GOSTEI 0
Eixox
26/12/2005
Desculpem-me, o código que enviei não funca.
Perdão a todos pela falha nossa.
obrigado pela compreensão e peço desculpas especialmente ao amigo Paulo pelo qual não ajudei.
Perdão a todos pela falha nossa.
obrigado pela compreensão e peço desculpas especialmente ao amigo Paulo pelo qual não ajudei.
GOSTEI 0
Martins
26/12/2005
Desculpem-me, o código que enviei não funca.
Perdão a todos pela falha nossa.
obrigado pela compreensão e peço desculpas especialmente ao amigo Paulo pelo qual não ajudei.
Acontece, porém o simples fato de vc ter tentado ajudar já é muito, valew!!!
GOSTEI 0
Paulo
26/12/2005
eixox, a tentativa de ajudar já é uma ajuda. Aqui comigo, sem problemas, parceiro. Valeu mesmo! O Objetivo disso, é que eu tenho uma rotina no OnKeyDown que funciona, mas só qdo a tecla enter é pressionada. Acontece que tem uma usuária, que ela sai do edit, às vezes com o mouse, e o evento não é disparado, e depois me liga para dizer que está dando erro. Preciso evitar isso. Poderia encher de botões ao invés de tratar no evento do componente, mas se for possível, usarei o OnExit q a parada será resolvida, a menos que os colegas tenham outra solução que eu não consigo enxergar.
GOSTEI 0
Martins
26/12/2005
ConsultE a função keybd_event( VK_TELCA, 0, 0, 0 )
GOSTEI 0
Martins
26/12/2005
ConsultE a função keybd_event( VK_TELCA, 0, 0, 0 )
Corrigindo...
Consulte a função da API do Windows Keybd_Event( VK_Tecla, 0, 0, 0 )
Boa Sorte!!!
GOSTEI 0
Osmanito Brito
26/12/2005
Esse post é antigo, mas passei por aqui e vendo a dificuldade anexo a este a solução.
Veja aí e valeu colegas fuçadores de bits.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then ShowMessage('Teste');
end;
procedure TForm1.Button1Click(Sender: TObject);
var Key: word;
Shift: TShiftState;
begin
Key:=vk_return;
Shift:=[ssShift];
FormKeyDown(Button1, Key, Shift);
end;
end.
Veja aí e valeu colegas fuçadores de bits.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then ShowMessage('Teste');
end;
procedure TForm1.Button1Click(Sender: TObject);
var Key: word;
Shift: TShiftState;
begin
Key:=vk_return;
Shift:=[ssShift];
FormKeyDown(Button1, Key, Shift);
end;
end.
GOSTEI 0