小弟我在一个过程里动态生成了Form ,Button ,想添加button.Onclick事件改变From的状态,如何做
我在一个过程里动态生成了Form ,Button ,想添加button.Onclick事件改变From的状态,怎么做?
程序大概如下
procedure TForm.on***(sender: TObject);
var
Form : TForm;
Button : TButton;
Edit: TEdit;
.....
begin
Form:=TForm.Create(self);
Button:=TButton.Create(self);
Button.Parent:=Form;
Button.Caption:='dfs';
........
end;
现在我想为这个成的button添加一个OnClick事件来改变From或其它控件的状态.
我试过在外面写一个Procedure 如Procedure TForm.OnC(Sender:TObject) 然后再让 Button.Onclick:=Onc;
这样做有一个问题, form及其它的控件都是局部变量. 在外面定义的过程(OnC) 无法访问到.
我知道可以把要生成的控件设为全局, 这么做是不是有点笨啊, 有没有其的办法.
------解决方案--------------------
笨吗?我只是问问。要么就吧OnC写在事件里面,然后用Form.ShowModal来显示窗体。
程序大概如下
procedure TForm.on***(sender: TObject);
var
Form : TForm;
Button : TButton;
Edit: TEdit;
.....
begin
Form:=TForm.Create(self);
Button:=TButton.Create(self);
Button.Parent:=Form;
Button.Caption:='dfs';
........
end;
现在我想为这个成的button添加一个OnClick事件来改变From或其它控件的状态.
我试过在外面写一个Procedure 如Procedure TForm.OnC(Sender:TObject) 然后再让 Button.Onclick:=Onc;
这样做有一个问题, form及其它的控件都是局部变量. 在外面定义的过程(OnC) 无法访问到.
我知道可以把要生成的控件设为全局, 这么做是不是有点笨啊, 有没有其的办法.
------解决方案--------------------
笨吗?我只是问问。要么就吧OnC写在事件里面,然后用Form.ShowModal来显示窗体。