怎样增加一个OnColorChange的属性?
想写一个TMyPanel,继承自TPanel,增加一个属性OnColorChange便于用户在mypanel颜色改变的时候自定义事件,该怎么定义这个属性呢?VCl的源码没有看明白,哪位大师指点以下,或是推荐本书学习一下,谢谢。
[解决办法]
没测试,也许有错误
TMyPanel = class(TPanel)
private
FOnColorChange: TNotifyEvent;
procedure CMColorChanged(var Message: TMessage); message CM_COLORCHANGED;
published
property OnColorChange: TNotifyEvent read FOnColorChange write FOnColorChange;
end;
procedure TMyPanle.CMColorChanged(var Message: TMessage);
begin
if Assigned(FOnColorChange) then
FOnColorChange(Self);
inherited;
end;