已经有一个Form_A,怎样动态生成一个继承Form_A的Form_B窗口?并为Form_B上的BUTTON1的Onclick事件赋值给一个已经存在的过程Procedure xx 已经有一个Form_A,怎样动态生成一个继承Form_A的Form_B窗口?并为Form_B上的BUTTON1的Onclick事件赋值给一个已经存在的过程Procedure xxx(sender : Tobject); ??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Button1.OnClick := XXX(Send); var Form_B : Tform; button1: Tbutton;begin Form_B := tform.create(self); try Form_B.showmadol; finally Form_B.free; end;end; Form_B:=Form_A.Create(self);Procedure xxx(sender : Tobject); begin Form_B.button1click(nil);end; fhuibo(Sailor) 的不错提倡这种写法var Form_B : Tform; button1: Tbutton;begin Form_B := tform.create(self); try Form_B.showmadol; finally Form_B.free; end;end;第二个问题直接付给他就行 因为事件本身就是一个方法指针最好在 窗体建立时赋值 to :666333(刘六) : xxx是一个过程,我的意思是当form_B的Button1按下时,执行XXX过程。to fhuibo(Sailor): 那如何上FORM_B继承Form_a? 当form_B的Button1按下时,执行XXX过程如何解决? unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public class Procedure MyPRC(sender:Tobject); end; TformChild=Class(Tform1);var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var aaaa:TformChild;begin aaaa:=TformChild.Create(self); aaaa.Caption :='子类窗体'; aaaa.Button1.OnClick :=TForm1.MyPRC; aaaa.Show;end;class procedure TForm1.MyPRC(sender: Tobject);begin showmessage('aaa');end;end. 你的过程XXX不能是全局的过程,必须是类 FormB或者FormA的一个成员过程。FormB = Class(FormA) // FormB继承FormA。var b:FormB;b = Formb.create();b.button1.onclick = b.xxx; var Form_B : Tform_A; button1: Tbutton;begin Form_B := tform_A.create(self); try button1:=TButton.Create(self); button1.parent:=Form_B; button1.onclick:=XXX; Form_B.showmadol; finally Form_B.free; end;end; 直接执行procedure TFormB.Button1Click(Sender: TObject);begin xxx;end; type TForm1 = class(TForm) Button1: TButton; procedure xxx; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin xxx;end;procedure TForm1.xxx;begin showmessage('xxx');end;经过测试通过 type TForm_b = class(TForm_a) Button1: TButton; procedure xxx; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form_b: TForm_b;implementation{$R *.DFM}procedure TForm_b.Button1Click(Sender: TObject);begin xxx;end;procedure TForm_b.xxx;begin showmessage('xxx');end;经过测试通过 如何得到CPU的序列号,或者是硬盘的物理序列号 关于线程的问题??急, 随机分组算法设计问题 急,有关COM中的异常处理,safecall和stdcall,Idispatch Table的事件 在连接客户端以前,要PING 一下机器,明明连接着为什么有时PING不通? 存储过程??????加分 寻求这样一种三种状态的位图按钮? 货币小写与大写如何转换? delphi队列使用问题 help~~! 求TurboPascal7.0 的函数表
Form_B : Tform;
button1: Tbutton;
begin
Form_B := tform.create(self);
try
Form_B.showmadol;
finally
Form_B.free;
end;
end;
Procedure xxx(sender : Tobject);
begin
Form_B.button1click(nil);
end;
提倡这种写法
var
Form_B : Tform;
button1: Tbutton;
begin
Form_B := tform.create(self);
try
Form_B.showmadol;
finally
Form_B.free;
end;
end;第二个问题直接付给他就行 因为事件本身就是一个方法指针
最好在 窗体建立时赋值
当form_B的Button1按下时,执行XXX过程如何解决?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
class Procedure MyPRC(sender:Tobject);
end;
TformChild=Class(Tform1);var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
aaaa:TformChild;
begin
aaaa:=TformChild.Create(self);
aaaa.Caption :='子类窗体';
aaaa.Button1.OnClick :=TForm1.MyPRC;
aaaa.Show;
end;class procedure TForm1.MyPRC(sender: Tobject);
begin
showmessage('aaa');
end;end.
FormB = Class(FormA) // FormB继承FormA。var b:FormB;b = Formb.create();
b.button1.onclick = b.xxx;
Form_B : Tform_A;
button1: Tbutton;
begin
Form_B := tform_A.create(self);
try
button1:=TButton.Create(self);
button1.parent:=Form_B;
button1.onclick:=XXX;
Form_B.showmadol;
finally
Form_B.free;
end;
end;
procedure TFormB.Button1Click(Sender: TObject);
begin
xxx;
end;
TForm1 = class(TForm)
Button1: TButton;
procedure xxx;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
xxx;
end;procedure TForm1.xxx;
begin
showmessage('xxx');
end;经过测试通过
TForm_b = class(TForm_a)
Button1: TButton;
procedure xxx;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form_b: TForm_b;implementation{$R *.DFM}procedure TForm_b.Button1Click(Sender: TObject);
begin
xxx;
end;procedure TForm_b.xxx;
begin
showmessage('xxx');
end;经过测试通过