首次做控件,遇到点小问题 ( 积分: 50 )

  • 主题发起人 主题发起人 流水先生
  • 开始时间 开始时间

流水先生

Unregistered / Unconfirmed
GUEST, unregistred user!
首次做控件,以下是New Component创建的。注册在面板面,再把他放到form上,再del,del时出现错误,接着连delphi也蹦了。
unit Form1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('KTControl', [TForm1]);
end;

{ TForm1 }

constructor TForm1.Create(AOwner: TComponent);
begin
inherited Create(AOwner);

end;

destructor TForm1.Destroy;
begin
inherited Destroy;

end;

end.
 
RegisterComponents('KTControl', [TForm1]);
这个地方可能和你的新建Form有冲突。
因为新建的Form默认也是TForm1。
 
同意一楼的看法。
 
我也是学计算机的.不过我学的是网络懂一点语言....可是大哥你的我看不懂写的是啥
 
TmyForm1 = class(TForm)
RegisterComponents('KTControl', [TmyForm1]);
改为这个也不行,下面是继承button的。就没问题。难道不能以form作为基类???

unit myButton;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TmyButton = class(TButton)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('KTControl', [TmyButton]);
end;

end.
 
TForm应该不能加入到Form的吧,运行也会提示找不到相应的资源文件(*.dfm)
 
那做一个包含form的控件,该怎么做呢
 
为什么要带From的控件呢,新建一个Form,设计好后加入到要用它的工程中就行了
 
哎。。我也不想,问题是只能做成控件才更好的发挥作用。只用form也能达到功能,只不过会比做成控件更麻烦。
我现在想这样做不知道行不行。
mycontrol=class(tcomponent) 把form包含其中通过mycontrol作个中间过渡。
:(是不是太累了?
 
你试过拖一个form放入另一个form没有?
 
多人接受答案了。
 
后退
顶部