动态生成的控件显示? ( 积分: 50 )

  • 主题发起人 主题发起人 zyr76
  • 开始时间 开始时间
Z

zyr76

Unregistered / Unconfirmed
GUEST, unregistred user!
在窗体FormDirectTestCreate下想动态生成一个TGroupBox,但想在FormMain菜单项N_DirCreate下调用这个窗体后发现,窗体可以调用,但动态的GroupBox1没有显示,我的功能是要在出现这个窗体时动态生成GroupBox1,并在里面加入一些动态的TCheckBox等控件,奇怪的是这个代码(FormCreate下面)放在按钮的Click事件时却可以出现GroupBox1,请大家解答一下,如何在菜单项N_DirCreate下实现这个功能。
procedure TFormDirectTestCreate.FormCreate(Sender: TObject);
var
GroupBox1:TGroupBox;
begin
GroupBox1:=TGroupBox.Create(Self);
GroupBox1.Caption:='请选择试题类型和数量';
GroupBox1.Parent:=Self;
GroupBox1.Visible:=True;
GroupBox1.Height:=185;
GroupBox1.Width:=353;
GroupBox1.Top:=GroupBox2.Top+ GroupBox2.Height+10;
GroupBox1.Left:=GroupBox2.Left;
end;
--------------
procedure TFormMain.N_DirCreateClick(Sender: TObject);
var
aChildForm:TFormDirectTestCreate;
begin
aChildForm:=TFormDirectTestCreate.Create(Application);
aChildForm.ShowModal;
end;
 
怎么没人回答?不够可加分
 
你放在Show事件里试一下:
procedure TForm1.FormShow(Sender: TObject);
begin

end;
 
加在Show事件里好像还是一样没显示,真怪了。请哪位高手赐教!
 
我试了一下,能正常显示
procedure TForm2.FormCreate(Sender: TObject);
begin
with TGroupBox.Create(Self) do
begin
Caption := 'Test';
Parent := Self;
Top := GroupBox2.Top;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
 
我前面也说过了,在按钮事件下是能实现,可是在菜单项下却不能实现,只能弹出窗口,没有动态生成控件出现,真是怪了!
 
我按你的代码做了个Demo,没有问题呀。
我用的是D7+WinXP
 
本质上按钮事件和菜单事件没有区别,所以如果有问题应该是在其他地方,跟创建窗体的动作由谁触发关系不大。
 
代码:
procedure TForm2.FormCreate(Sender: TObject);
var
    GroupBox1:TGroupBox;
begin
    GroupBox1:=TGroupBox.Create(Self);
    GroupBox1.Caption:='请选择试题类型和数量';
    GroupBox1.Parent:=Self;
    GroupBox1.Visible:=True;
    GroupBox1.Height:=185;
    GroupBox1.Width:=353;
    GroupBox1.Top:=GroupBox2.Top+ GroupBox2.Height+10;
    GroupBox1.Left:=GroupBox2.Left;

end;
procedure TForm1.M11Click(Sender: TObject);
begin
  form2 := Tform2.Create(Application);
    form2.ShowModal();
end;
 
还是不行的呀,我的FormDirectTestCreate是子窗体,FormMain主窗体,我试了好几次还是没有反应,真实奇了怪了!
 
你的系统是否有问题?你可以检查你的安装后是否有问题
 
多人接受答案了。
 
你的程序是否MDI结构?
 
后退
顶部