我现在正在从TDBGrid继承写一个控件,现在了,我需要在TColumn这个类里面添加一个属性(String or Boolean)不知如何做?高手们帮帮忙啊!!

解决方案 »

  1.   

    看看DXDBGRID的源码或DGBRIDEH的源码
      

  2.   

    DGBRIDEH的源码
    我看过啦!他是从头开始写的(或许是复制/添加)啊
    我复制一份DBGrid的源码;然后在TColumn类里加一个属性
    注册一下也行!但是,我不想这样做!
    我是想从TDBGrid上继承写一个控件
    同时也从TColumn继承在里面添加属性
    然后打开Column会我一个是我新加的属性
      

  3.   

    TMyStringGrid = class(TStringGridEh)
      private  public
        function GoPrior:boolean;
        function GoNext:boolean;
        function GoFirst:boolean;
        function GoLast:boolean;
        function GoToRow(RowIndex:integer):boolean;
      protected  published
        property GridColor;
        property MyColumns;
        constructor Create(AOwner: TComponent);override;
        destructor Destroy; override;
      end;
      

  4.   

    我以前做过这种东东,但我是直接修改DBGrid的源码,呵呵,懒自己继承。
    DBGrid的Columns属性是TColumn类的对象,你必须在TColumn中添加:
    TColumns = class(TColumn)
    private 
     ......
     FmyProperty: Boolean;
    published
     ......
     property myProperty: Boolean read FmyProperty write FmyProperty default false;
    end;