一个是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.
一个用的是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.
RegisterClass[];
RegusterComponentsNoicon();试试
另外 创建的对象没有释放
还有同样也谢谢SydPink