一个是TCustomEdit
一个用的是TBitBtn
Compile是成功的,但就是注册不进去,显示出不来unit EditSetButton;interfaceuses
  Windows,SysUtils,Messages,Classes,Graphics,Controls,Forms,Dialogs,Menus,Buttons,StdCtrls;
  
type
  TEditSetButton = class (TWincontrol)
      MainEdit:TCustomEdit;
      SetButton: TBitBtn;
  private
      ButtonOnClick: TNotifyEvent;
      procedure SetText_MainEdit(newValue: TCaption);
      function GetText_MainEdit:TCaption;
      procedure SetCaption_SetButton(newValue: TCaption);
      function GetCaption_SetButton:TCaption;
  protected
      procedure Click_Transfer(Sender :TObject); virtual;
  public
      constructor Create(AOwner:TComponent); override;
  published
      property EditText:TCaption read GetText_MainEdit write SetText_MainEdit;
      property ButtonCaption:TCaption read GetCaption_SetButton write SetCaption_SetButton;
      property OnClickButton:TNotifyEvent read  ButtonOnClick write ButtonOnClick;
  end;procedure register;implementationprocedure TEditSetButton.SetText_MainEdit(newValue: TCaption);
begin
   MainEdit.text:=newValue;
end;function TEditSetButton.GetText_MainEdit:TCaption;
begin
GetText_MainEdit:=MainEdit.text;
end;procedure TEditSetButton.SetCaption_SetButton(newValue:TCaption);
begin
SetButton.caption:=newValue;
end;function TEditSetButton.GetCaption_SetButton:TCaption;
begin
GetCaption_SetButton:=SetButton.caption;
end;procedure TEditSetButton.Click_Transfer(Sender: TObject);
begin
  if Assigned(ButtonOnClick) then
     ButtonOnClick(self);
end;constructor TEditSetButton.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Width:=75;
  Height:=56;
  MainEdit:=TCustomEdit.create(self);
  MainEdit.Text:='';
  with MainEdit do
    begin
    parent:=self;
    setBounds(0,0,75,25);
    TabOrder:=0;
    end;  SetButton:=TBitBtn.create(self);
  with SetButton do
    begin
    Parent:=self;
    setBounds(0,31,75,25);
    TabOrder:=1;
    OnClick:=Click_Transfer;
    end;
end;procedure Register;
begin
  RegisterComponents('New',[TEditSetButton]);
end;end.