可以去看TDataSource的原码嘛,组合控件的结构跟一般的也差不多,只是一些私有变量的类型是控件而已不少书上都有例子的

解决方案 »

  1.   

    T组合控件=Class(TXXX)
        FDataSource:TDataSSet;
        procedure SetDataSet(Value:TDataSet);
      public
        property DataSet Read FDataSet Write SetDataSource;
      end;procedure SetDataSet(Value:TDataSet);
    Begin
      FDataSet :=Value;
    end;
      

  2.   

    我想你问得应该是为什么Datasource中的Dataset字段可以自动出现TDataset类控控件。其实Delphi注册了一个TDataset属性编辑器。DsgnIntf单元可以学习到这些知识。
    另外如果再组件中使用到了外部的组件,重载这个函数
    procedure Notification(AComponent: TComponent; Operation: TOperation); 
    当AComponent是你使用到的外部组件,Operation=opRemove的时候,要把你组件内部对外部组件的运用置空