我的应用程序要实现如下功能:每个窗体内所有可获得焦点控件的得到焦点时,都需要执行一些统一的动作。
我用procedure OnGetFocus(var Message: TMessage); message WM_SETFOCUS; 没有作用。存在非钩子的解决办法吗?
我用procedure OnGetFocus(var Message: TMessage); message WM_SETFOCUS; 没有作用。存在非钩子的解决办法吗?
解决方案 »
- 请问Delphi有没有象做网页中editer控件
- 请教:怎样在Access2000数据库中建表呢,那那些类和方法呢?最好有例子!多谢!:)
- 如何读写bmp.PixelFormat :=pf4bit ( 16色)的图各点颜色?
- 报表打印中,有没有办法不用QuickRep1.Prepare,也能求出报表的总页数?高分求助!
- 谁能用ADO的连接有密码的ACCESS数据库(不要通过ODBC)
- 如何通过消息控制另一个程序里面控件的行为,我已附上反编译后的窗体文件
- 把EXCEL中的编码导入系统时,发现编码变为科学计数数字了。
- query+updatesql好象有问题?
- 由VFP转入D6大家庭--初级问题(能给多少分就给多少分)
- 一个三层问题,不知如何解决?
- 上海急招DEPHI程序员
- 求助:在DLL中使用 EhLib 4.2.12 打印预览后,退出DLL报错
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure CrnActiveCtrlChange(Sender: TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.CrnActiveCtrlChange(Sender: TObject);
begin
// 这里替换成你需要的代码
Caption := Screen.ActiveControl.Name;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Screen.OnActiveControlChange := CrnActiveCtrlChange;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Screen.OnActiveControlChange := nil;
end;end.
to maozefa: 控件的OnEnter事件有时可能得用于一些初始化事件,所以不能占用,而且我所有程序的全部窗体中的所有控件都要设此事件,那就太麻烦了!!那我还不如用钩子!结贴!