达安花园 风水:刚刚出炉的 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