达安花园 风水:刚刚出炉的 IrisSkin,来个鲜的(附:换肤控件对比) - Programming &...

来源:百度文库 编辑:九乡新闻网 时间:2024/05/08 07:19:16

刚刚出炉的 IrisSkin,来个鲜的(附:换肤控件对比)


满怀希望的看了看新版本的东东,没想到,还是老样子,

窗体颤动,不如skinpp,不过,毕竟是.net的。

最近,收集了大致几种换肤的东东:

appface.dll使用
1、需要添加的API声明:
        //------------------------------------------------------------------------
        //The declare for AppFace
        [DllImport("appface.dll")]
        public static extern int SkinStart(string SkinFile, int nDefWinType, string CheckSum, int nType,
            int hInstance, int nLen);
        [DllImport("appface.dll")]
        public static extern int SkinRemove();
        [DllImport("appface.dll")]
        public static extern int SkinWindowSet(IntPtr hWnd, int nSkintype);
        [DllImport("appface.dll")]
        public static extern int SkinWindowSetEx(IntPtr hWnd, int nSkintype, int nResourceId,
            int nUrfLoadType, string SkinFile, int hInstance, int nLen);
        //------------------------------------------------------------------------
2、在Main函数或者首先启动的窗体添加:
            if (Form1.SkinStart(Application.StartupPath + "\\belv.urf", 4, "", 1, 0, 0) == 0)
            {
                //Load a basic URF skin if failed (may be expired)
                Form1.SkinStart(Application.StartupPath + "\\gtclassicex.urf", 4, "", 1, 0, 0);
            }
其中Form1为窗体的name

===================================================================
actskn43.ocx
ActiveSkin 4.3  对于窗体的控件支持最少,甚至button。
使用:将ocx添加到toolbox,拖放到窗体上,在load事件中添加:
axSkin1.ApplySkin((int)Handle);
即可
====================================================================
DirectSkin.dll
不支持的控件要比active少,但是仍然不支持button等。
使用方法:
在使用skin的窗体上添加:
            axWbocx1.Show();

            // Try setting up a skin (requires dogmax in sample skins)
            axWbocx1.InitWB();
            axWbocx1.SetRootPathStr(Environment.CurrentDirectory + "\\skins\\");
            axWbocx1.LoadUIS("xp corona\\xp corona.uis");
            axWbocx1.DoWindow(this.Handle.ToInt32());

注意皮肤的路径
======================================================================
DotNetSkin.dll 和 IrisSkin2.dll
支持.NET的大部分控件,但是对strip不支持
且刷新严重,使用方法简单
======================================================================
SkinPlusPlus.VS.Net 支持的控件最全,支持部分第三方控件,dock窗体拖动时,效果不好。
很好用,但是没有皮肤编辑器
破解的是不是完整,未知----没有皮肤测试
使用 方法:
引用:using SKINPPDOTNETLib;
声明;public static SKINPPDOTNETLib.SkinPPDotNetClass SkinPPObj;

在Main函数中添加:
            SkinPPObj = new SkinPPDotNetClass();
            SkinPPObj.LoadSkin("PixOS.ssk", false);
注:必须在main中,不然对menustrip支持不好

 以上是个人的测试,可能不是很准确,不过大致如此。

 ---------------------------------

下载 IrisSkin