我的换肤代码如下
...
 SkinData.Active := false;
 SkinData.LoadFromCollection(SkinStore,i);
 SkinData.Active := true;
...
第一次换是可以的,第二次开始界面显示就异常了.
我看了Demo,他只有一个SkinData.LoadFromCollection(SkinStore,CBStyle.ItemIndex);
我这样做就是不可以,不知道哪里有问题

解决方案 »

  1.   

    看看俺以前作的通用人力资源系统:http://www.tomore.com/dispdocnew.php?id=18362,这里有你的答案
      

  2.   

    放一个SkinStore,在Store属性添加几个SkinItem,SkinDate里面都选择好皮肤文件。
    另外放一个SkinData,SkinStore选好当前的皮肤,Active为True。
    动态切换皮肤时 SkinData1.LoadFromCollection(SkinStore1,i); i是第i个SkinItem的序号
      

  3.   

    procedure TMainFrm.DesertFaceClick(Sender: TObject);
    begin
      SwitchFace.Items.Items[SeSkinEngine1.SkinIndex].Checked := False;
      SeSkinEngine1.SkinIndex := TSeSkinItem(Sender).Tag;
      if not TSeSkinItem(Sender).Checked then
        TSeSkinItem(Sender).Checked := True;
    end;
      
      这是偶原来做的,点右键弹出菜单所执行的代码!动态换肤!
      

  4.   

    是啊,是不是有BUG啊,郁闷
      

  5.   

    没有问题  liangqingzhi(老之) 的方法  
    “这样做会出现界面异常的情况,界面最小化后再最大化你就会发现界面的右半部分不见了”,我的怎么不会