我用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;

解决方案 »

  1.   

    哈哈,, 和我們公司的做法一樣哦, ,
    我們公司做的是沒有皮膚的,鉭我學習時加上了,
    我的做法是在PageControl上面加一个PANNEL控件,并设置其皮肤
    然后当加载第一页时调用PageControl。BringToFront进行显示控制,,,
      

  2.   

    刷新一下:
    SkinData1.UpdateSkinControl(self);
      

  3.   

    加在 procedure TForm1.btn2Click(Sender: TObject);
    最后的一行吧
      

  4.   

    在TAB上面加个PANEL,把窗体FORM2的上级指为PNAEL,应会显示出来的。
    var
      pnl: TPanel;
    begin
      pnl := TPanel.Create(nil);
      pnl.parent := Tab; 
      pnl.Align := alClient;
      form2.parent := panel1;
      form2.Align := alClient;
    end;没测试的呵呵。