新手菜鸟求问 自定义组件事件如何写?
写个小软件,发现有些处理很麻烦,就想学写自定义组件, 以前没有写过这个东西, 我想在目前的组件中添加一些事件 比如, enabled:=true的时候自动处理一些过程
比如:
ImageB = class(TImage)
private
FVCenter:Boolean;
protected
public
published
property VCenter: Boolean read FVCenter write FVCenter;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('P', [ImageB]);
end;
我添加了一个 VCenter的属性, 但是不知道 当这个属性发生改变的时候 自动触发事件怎么写
还有就是上面说的 当enabled属性发变化后 触发事件怎么写
[解决办法]
component->new component
有一个完整的模版,当然你也可以建一个unit自己写,这个要自己慢慢研究
下面是一个简单的Image增加一个VCenter属性,默认是False,当设置为Ture时,就弹出一个信息,注册在Samples页面
unit ImageB;
interface
uses
SysUtils, Classes, Controls, ExtCtrls, Dialogs;
type
TImageB = class(TImage)
private
FVCenter:Boolean;
procedure SetCenter(Value: Boolean);
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
property VCenter: Boolean read FVCenter write SetCenter default False;
{ Published declarations }
end;
procedure Register;
implementation
procedure TImageB.SetCenter(Value: Boolean);
begin
FVCenter := Value;
if Value then
showmessage('Hello World!');
end;
procedure Register;
begin
RegisterComponents('Samples', [TImageB]);
end;
end.