当控件.Enabled:=False时,系统会发送什么消息??(50分)

  • 主题发起人 主题发起人 snappy
  • 开始时间 开始时间
S

snappy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何拦这个消息?
 
1、TControl定义有一个保护方法:
procedure SetEnabled(Value: Boolean); virtual;
可在自己的控件中覆盖掉它自己处理。
它的源码是:
procedure TControl.SetEnabled(Value: Boolean);
begin
if FEnabled <> Value then
begin
FEnabled := Value;
Perform(CM_ENABLEDCHANGED, 0, 0);
end;
end;
2、由上可知,你挡消息CM_ENABLEDCHANGED也行。
 
接受答案了.
 
后退
顶部