我用TSkinData 做界面皮肤 在TPageControl 里NEW page 出来有皮肤的。但是自己动态加TTabSheet 就没皮肤了我用Spy++ 看窗口类名
NEW page 出来的是 TTabSheet 类名自己动态生成出来的是 TForm2 类名生成代码如下procedure TForm1.btn2Click(Sender: TObject);
var
tab :TTabSheet;
wnd :TForm2;
begin
tab := TTabSheet.Create(pgc1);
tab.PageControl :=pgc1;
tab.Caption := '客户'; wnd := TForm2.Create(Self);
wnd.Align := alClient;
wnd.ParentWindow := tab.Handle;
wnd.Visible := true;end;
NEW page 出来的是 TTabSheet 类名自己动态生成出来的是 TForm2 类名生成代码如下procedure TForm1.btn2Click(Sender: TObject);
var
tab :TTabSheet;
wnd :TForm2;
begin
tab := TTabSheet.Create(pgc1);
tab.PageControl :=pgc1;
tab.Caption := '客户'; wnd := TForm2.Create(Self);
wnd.Align := alClient;
wnd.ParentWindow := tab.Handle;
wnd.Visible := true;end;
我們公司做的是沒有皮膚的,鉭我學習時加上了,
我的做法是在PageControl上面加一个PANNEL控件,并设置其皮肤
然后当加载第一页时调用PageControl。BringToFront进行显示控制,,,
SkinData1.UpdateSkinControl(self);
最后的一行吧
var
pnl: TPanel;
begin
pnl := TPanel.Create(nil);
pnl.parent := Tab;
pnl.Align := alClient;
form2.parent := panel1;
form2.Align := alClient;
end;没测试的呵呵。