最近在使用vclskin控件的时候碰到了一个问题,不知道是我没使用正确还是这个控件的bug,请知道的高手指点一下。
创建两个form(from1,form2),在form1中放个panel,我现在想把form2嵌入到panel中,但是form2中的控件的skin就没有显示了,我的代码如下,用了两种方法都不行:
方法1: application.createform(Tfrom2,form2);
form2.parent := panel;
form2.align := alclient;
form2.show;
方法2: application.createform(Tform2,form2);
form2.dock(panel, panel.boundsrect);//停靠的各种属性已经设置
form2.show;
声明:如果是不嵌入显示是正常的
application.createform(Tfrom2,form2);
form2.show;
显示一切正常。
创建两个form(from1,form2),在form1中放个panel,我现在想把form2嵌入到panel中,但是form2中的控件的skin就没有显示了,我的代码如下,用了两种方法都不行:
方法1: application.createform(Tfrom2,form2);
form2.parent := panel;
form2.align := alclient;
form2.show;
方法2: application.createform(Tform2,form2);
form2.dock(panel, panel.boundsrect);//停靠的各种属性已经设置
form2.show;
声明:如果是不嵌入显示是正常的
application.createform(Tfrom2,form2);
form2.show;
显示一切正常。
form2.Dock(panel1,BoundsRect);
form2.show;
应该没问题呀……
"控件的skin就没有显示了"是什么意思,看不到form2上的可视控件?
try
Application.CreateForm(TForm2,Form2);
Form2.Parent:=panel;
Form2.Show;
end;
finally
end;
end;我写过,在实际应用项目做在用,没问题
是因为你的FORM2 成为FORM1容器里的一个东西,所以FORM2继承FORM1的皮肤不知道我这样理解对不对?
应该这么写:
form2 := Tform2.Create(self);
form2.Parent := panel1;
if skindata1.active then
skindata1.AddNestForm(self,form2);
form2.Show;
MoneyUserForm.Parent := Panel1;
//MoneyUserForm.HostDockSite := Panel1;
MainForm.skindata1.AddNestForm(self,MoneyUserForm);
MoneyUserForm.Show;用AddNestForm(self,MoneyUserForm);