写个小软件,发现有些处理很麻烦,就想学写自定义组件, 以前没有写过这个东西, 我想在目前的组件中添加一些事件 比如, enabled:=true的时候自动处理一些过程 比如:
ImageB = class(TImage)
  private
   FVCenter:Boolean;
  protected
  public
  published
     property VCenter: Boolean read FVCenter write FVCenter;   end;procedure Register;implementationprocedure Register;
begin
  RegisterComponents('P', [ImageB]);
end;
我添加了一个 VCenter的属性, 但是不知道 当这个属性发生改变的时候 自动触发事件怎么写还有就是上面说的 当enabled属性发变化后 触发事件怎么写

解决方案 »

  1.   

    百度会不会,看看TButton之类的源码会不会
      

  2.   

    component->new component
    有一个完整的模版,当然你也可以建一个unit自己写,这个要自己慢慢研究
    下面是一个简单的Image增加一个VCenter属性,默认是False,当设置为Ture时,就弹出一个信息,注册在Samples页面unit ImageB;interfaceuses
      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;implementationprocedure TImageB.SetCenter(Value: Boolean);
    begin
      FVCenter := Value;
      if Value then
        showmessage('Hello World!');
    end;procedure Register;
    begin
      RegisterComponents('Samples', [TImageB]);
    end;end.