SkinMagic常用函数介绍

(1)InitSkinMagicLib函数:初始化SkinMagic

int InitSkinMagicLib( //初始化SkinMagic工具库
HINSTANCE hInstance, //应用程序句柄
char* szApplication , //皮肤文件中定义的应用程序名,置为NULL即可
char* szRegCode, //SkinMagic的使用注册码。若无置为NULL
char* szReserved2); //保留位,为NULL

(2)LoadSkinFile函数:加载皮肤文件

LoadSkinFile(LPCTSTR lpSkinFile)//要加载的皮肤文件名  

(3)LoadSkinFromResource函数:从资源加载皮肤文件

int LoadSkinFromResource(
  HMODULE hModule, //包含皮肤文件的模块句柄,若NULL表面在本模块中
   char* lpSkinName , //皮肤资源的名称
   char* lpType); //资源的类型

(4)SetWindowSkin函数:为标准对话框加载皮肤(比如文档)

int SetWindowSkin( HWND hWnd , //要换肤的对话框句柄
  LPCTSTR lpSkinName )//皮肤名

(5)SetDialogSkin函数:为对话框加载皮肤文件(比如基本对话框Dlg)

int SetDialogSkin( HWND hWnd , //要换肤的对话框句柄
LPCTSTR lpSkinName )//皮肤名

(6)SetShapeWindowSkin函数:为shape对话框加载皮肤文件(这个对话框是固定大小,无法进行拉伸缩小)

int SetShapeWindowSkin(
HWND hWnd, //对话框句柄
  LPCTSTR pszName) //shape界面皮肤名.

(7)ExitSkinMagicLib函数:释放资源

void ExitSkinMagicLib()//释放资源文件 

SkinMagic其他函数介绍

(1)RemoveDialogSkin();停止自动给窗体加载皮肤,针对SetDialogSkin  

(2)RemoveWindowSkin(HWND hWnd);去掉指定窗口皮肤,当某个窗体或者控件不需要皮肤时可以使用此函数  

(3)EnableWindowScrollbarSkin(HWND hWnd, SB_BOTH) 给指定窗体加载滚动条皮肤。比较适用于自绘的控件。

(4)DisableWindowScrollbarSkin(HWND hWnd) 使指定窗体停止加载滚动条皮肤。

(5)SetControlSkin()为单个控件换肤

int SetControlSkin(
HWND hWnd, //控件句柄
LPCTSTR pszName, //皮肤文件里面的皮肤对象
LPCTSTR pszOwnerSkinName //皮肤文件里面的窗口对象
);

注意事项:

1. 当自绘控件与加载皮肤的窗体冲突时的解决方法

解决方法:先对窗体加载皮肤,再建立控件自绘的功能。

具体的做法是: 1)DoDataExchange取消自绘控件实例与资源控件ID的关联

        2)在SetSingleDialogSkin之后自绘控件实例采用SubclassDlgItem的方法与资源控件ID关联。

VERIFY(  == SetSingleDialogSkin(this->GetSafeHwnd(), _T("Dialog") ) );
m_list.SubclassDlgItem(IDC_LIST1,this);

参考链接:

http://blog.csdn.net/nonecode/article/details/7952065

http://blog.csdn.net/miao2034056/article/details/9196411

[MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍的更多相关文章

  1. [MFC美化] Skin++使用详解-使用方法及注意事项

    主要分为以下几个方面: 1.Skin++使用方法 2.使用中注意事项 一. Skin++使用方法 SkinPPWTL.dll.SkinPPWTL.lib.SkinPPWTL.h ,将三个文件及相应皮肤 ...

  2. [MFC美化] SkinSharp使用详解2-SkinH.h函数介绍

    SkinSharp功能强大,该皮肤库支持完全多种颜色改变等. 下面是静态链接库时的SkinH.h头文件: /*在Stdafx.h文件中加入如下语句 #include "SkinH.h&quo ...

  3. [MFC美化] SkinSharp使用详解1-使用方法

    需要注意的是: 加载换肤后,程序关闭时,无需调用卸载皮肤接口,SkinSharp换肤库会自己完成清理工作.换肤时无需卸载皮肤,直接调用即可. 其DLL使用方法与前面几种皮肤库用法类似.如下: 1. 将 ...

  4. [MFC美化] USkin使用详解-使用方法

    该种皮肤库资料很少,用法与前面几种类似. 它主要有:USkin.dll ,USkin.lib,USkin.h和Sakura.msstyles这四个文件.皮肤格式是.u3.SkinBuilder是USk ...

  5. MFC下CSocket编程详解(转)

    原文转自 http://blog.csdn.net/yejiansnake/article/details/2175778 MFC下CSocket编程详解: 1. 常用的函数和注意事项(详细的函数接口 ...

  6. IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)

    IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...

  7. <转>详解DNS的常用记录(上):DNS系列之二

    详解DNS的常用记录(上) 在上篇博文中,我们介绍了DNS服务器的体系结构,从中我们了解到如果我们希望注册一个域名,那么必须经过顶级域名服务器或其下级的域名服务器为我们申请的域名进行委派,把解析权委派 ...

  8. 淘宝JAVA中间件Diamond详解(2)-原理介绍

    淘宝JAVA中间件Diamond详解(二)---原理介绍 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本次为大家带来的是diamond核心原理的介绍,主要包括server ...

  9. SQL 中详解round(),floor(),ceiling()函数的用法和区别?

    SQL 中详解round(),floor(),ceiling()函数的用法和区别? 原创 2013年06月09日 14:00:21   摘自:http://blog.csdn.net/yueliang ...

随机推荐

  1. .NET源码

    值得珍藏的.NET源码,不保存就没机会了 很早以前,我们通过http://referencesource.microsoft.com/netframework.aspx可以下载到.NET的各版本公开源 ...

  2. [Usaco2008 Nov]Buying Hay 购买干草[背包]

    Description     约翰的干草库存已经告罄,他打算为奶牛们采购日(1≤日≤50000)磅干草.     他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号.第i个公司卖的干草包重 ...

  3. CSS中文字体的英文名称 – 前台开发必备

    做什么用的?写过CSS的都晓得,一般用在font-family后面——为什么不用中文呢?有过一定开发经验的都晓得CSS里面用中文也是会乱码的,特别是没有中文字符集的浏览器,直接成了框框,用英文就可以解 ...

  4. js漫谈

    不久前在武汉这边找到了自己的第一份软件方面工作,当时还很欢喜,可惜最后因为家里的事情,公司的情况等等,最近又成了待业状态,正好安静的考虑一下以后怎么走,是考研还是继续找工作,非计算机专业学生自学找软件 ...

  5. 转---高并发Web服务的演变——节约系统内存和CPU

    [问底]徐汉彬:高并发Web服务的演变——节约系统内存和CPU 发表于22小时前| 4223次阅读| 来源CSDN| 22 条评论| 作者徐汉彬 问底Web服务内存CPU并发徐汉彬 摘要:现在的Web ...

  6. vs2013安装xna4.0模板

    首先需要安装Windows Phone SDK 7.1,这里面包含了最新的XNA SDK,当然也能安装其它的XNA SDK. 安装完后复制模板 xcopy /e "C:\Program Fi ...

  7. JavaEE:Tomcat服务器常用配置和HTTP简介

    Web服务器常用配置1.Web系统采用B/S结构通信的:Browser --- Server1)浏览器向服务器发送访问目标资源请求(请求)2)服务器根据请求的目标资源路径,在服务器端进行查找(请求查找 ...

  8. C#代码和javascript函数相互调用

    C#代码与javaScript函数的相互调用 问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在 ...

  9. d指针在Qt上的应用及实现

    Qt为了使其动态库最大程度上实现二进制兼容,引入了d指针的概念.那么为什么d指针能实现二进制兼容呢?为了回答这个问题,首先弄清楚什么是二进制兼容?所谓二进制兼容动态库,指的是一个在老版本库下运行的程序 ...

  10. 用T4消除代码重复,对了,也错了

    用T4消除代码重复,对了,也错了 背景 我需要为int.long.float等这些数值类型写一些扩展方法,但是我发现他们不是一个继承体系,我的第一个思维就是需要为每个类型重复写一遍扩展方法,这让我觉得 ...