我自己试着写了个组件,继承自Edit, 我希望在onchang时,修改一个属性,应该怎么做啊?

解决方案 »

  1.   

    protected
        procedure Change; override;在这个方法中写代码即可。
      

  2.   

    procedure TMyEdit.Change;
    begin
      inherited Changed;
      Readonly := true;
    end;
      

  3.   

    各位帮忙看看这样写都有哪些问题,先谢了
    unit QXEdit;interfaceuses
      SysUtils, Classes, Controls, StdCtrls,QXADOQuery;type
      TQXEdit = class(TEdit)
      private
        { Private declarations }
        procedure SetQuery(Value:TQXADOQuery);//设置 QXADOQuery
      protected
        { Protected declarations }
         procedure Change; override;  public
        { Public declarations }
        FQXADOQuery : TQXADOQuery;
        FlinkQuery:boolean;   //检查是否设置好QXADOQuery;
        procedure MakeXiuGaiTrue;
      published
        { Published declarations }
        property QXADOQuery : TQXADOQuery read FQXADOQuery write SetQuery ;
        property linkQuery : boolean read FlinkQuery write FlinkQuery;
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Qixing', [TQXEdit]);
    end;
    procedure TQXEdit.MakeXiuGaiTrue;
    begin
       linkQuery:=true;
    end;
    procedure TQXEdit.SetQuery(Value:TQXADOQuery);
    beginend;
    procedure TQXEdit.Change;
    begin
      inherited Changed;
      if linkQuery then QXADOQuery.XiuGai:=true;
    end;
    end.