我一dbimage 为父类,新写了一个控件,由于dbimage  内嵌了datasource ,我想把对datasource  的
OnDataChange OnUpdateData OnStateChange 具体事件的处理写到控件的内部,可是我不知道该怎样加
第一次写控件,感觉有点无从下手,谢谢帮忙!

解决方案 »

  1.   

    要告诉你怎么写就复杂了,推荐给你书吧!
    《delphi开发人员指南》和《inside VCL》,前面的就又怎么开发控件
      

  2.   

    我自己已经写了一点了,我是在dbimage的基础上做的修改,下面是代码片断 ,可是就是不知道这样可不可以
    constructor TmySigControl.Create(AOwner: TComponent);
    begin
      inherited Create(AOwner);
      ControlStyle := ControlStyle + [csOpaque, csReplicatable, csNeedsBorderPaint];
      if not NewStyleControls then ControlStyle := ControlStyle + [csFramed];
      Width := 105;
      Height := 105;
      TabStop := True;
      ParentColor := False;
      FPicture := TPicture.Create;
      FPicture.OnChange := PictureChanged;
      FBorderStyle := bsSingle;
      FAutoDisplay := True;
      FCenter := True;
      FDrawInk:=False;
      FDataLink := TFieldDataLink.Create;
      FDataLink.Control := Self;
      FDataLink.OnDataChange := DataChange;
      FDataLink.OnUpdateData := UpdateData;
      {下面是我自己加的,不知道可不可以
      其中
      MyStateChange,  MyUpdateData  是我自己定义的函数  
      主要我不知道这样写会不会和 上面原有的       
      FDataLink.OnUpdateData := UpdateData;
      发生冲突。
      }
      DataSource:=tDataSource.Create(nil)
      //DataSource.OnDataChange:=MyDataChange;
      DataSource.OnUpdateData:=MyUpdateData;
      DataSource.OnStateChange:=MyStateChange;  FQuickDraw := True;
      with mySigControl1 do
      begin
        TempStream  := TMemoryStream.Create;
        bitmap:=tbitmap.Create;
      end;end;