创建自己的Dephi构件
4. 增加保护方法MouseEnter、MouseLeave、CM_MouseEnter和 CM_MouseLeave
加入如下的代码:
protected
Procedure MouseEnter; virtual; Procedure MouseLeave; virtual;
Procedure CM_MouseEnter(var msg : Tmessage);
Message CM_MouseEnter;
Procedure CM_MouseLeave(var msg : Tmessage);
Message CM_MouseLeave;
…
ImPlementation
Procedure MouseEnter;
Begin
If assigned(FonMouseEnter) then
FonMouseEnter(self);
End;
Procedure CM_MouseEnter(var msg :Tmessage);
Begin
Inherited;
MouseEnter;
End;
5. 增加事件OnMouseEnter 和 OnMouseLeave
加入如下的代码:
Private
FonMouseEnter,FonMouseLeave :TnotifyEvent;
Published
OnMouseEnter : TnotifyEvent
Read FonMouseEnter write FonMouseEnter;
OnMouseLeave : TnotifyEvent
Read FonMouseLeave Write FonMouseLeave;
6. MouseLeave CM_MouseLeave的实现代码与MouseEnter CM_MouseEnter的类似 。Dephi 为所有消息提供缺省处理。在写消息句柄时应 禁止缺省处理,因此在CM_MouseEnter和 CM_MouseLeave过程中调用了 inherited。
重载构造和析构方法的代码如下:
Public Constructor Create(Aowner :Tcomponent);override;
Destructor Destroy;override;
……
Implementation
Constructor Create(Aowner :Tcomponent);
Begin
Inherited Create(Aowner);
FleaveTextColor:=Font.Color;
FenterTextColor:=Font.Color;
End;
Destructor TnewLabel.Destroy;
Begin
Inherited Destroy;
End;
三. 结束语
以上仅对创建Dephi构件的基本知识进行了讨论,仍有一些创建构件问题、技术未能深入探讨,对这方面问题感兴趣的Dephi使用者可进一步通过阅读有关资料提高自身创建构件的能力。
- 上一篇:Windows操作系统最新补丁大全
- 下一篇:浅析计算机病毒及防范的措施