首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手初学者求问 自定义组件事件怎么写

2012-03-31 
新手菜鸟求问 自定义组件事件如何写?写个小软件,发现有些处理很麻烦,就想学写自定义组件, 以前没有写过这

新手菜鸟求问 自定义组件事件如何写?
写个小软件,发现有些处理很麻烦,就想学写自定义组件, 以前没有写过这个东西, 我想在目前的组件中添加一些事件 比如, 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.

热点排行