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. 基于A2DFramework的事件机制实现

    随笔- 102  文章- 3  评论- 476  发布订阅 - 基于A2DFramework的事件机制实现   SUMMARY 能做什么 DEMO 原理图 应用场景 能做什么 A2DFramework ...

  2. 最短路径 dijkstra

    最短路径 dijkstra #include <stdio.h> #include <string.h> #include <limits.h> #define M ...

  3. windows下搭建Cygwin环境

    windows下搭建Cygwin环境 在上一篇博文<Android学习——windows下搭建NDK_r9环境>中,我们详细的讲解了在windows下进行Android NDK开发环境的配 ...

  4. 企业架构研究总结(45)——企业架构与建模之使用ArchiMate进行分析(全系列完)

    4. 使用ArchiMate进行分析 正如前面所说的那样,一个企业整体效率的提升有时并不是通过某一个领域内的优化就能达到的,而且这种忽视全局的做法往往还会造成不必要的浪费.由此可见,一个能够跨越各个领 ...

  5. 马赛克算法及iOS代码实现

    之前做了一下相关涂鸦的东西,发现图片处理挺好玩的,就先讲讲马赛克的实现吧. 放大马赛克图片可以看到,可以看到一个个单色的小正方形.所以马赛克其实也就是把某一点的色值填充了它一定范围内的一个正方形,这样 ...

  6. ios学习笔记之2天来总结

    学了2天,小结下. ios的基本代码执行流程: 与java的基本异同: 异: 1.基类:java中Object是所有类的父类,而objective-c的根类为NSObject 2.默认访问类型:jav ...

  7. StreamWriter(ms, new UTF8Encoding(false))可以达到不输出BOM的需求。

    winform 通过webservice向服务器提交图片需要注意的地方 最近一个winform项目中需要通过拍照或者上传本地文件或者截图的方式把产品图片上传到服务器,最后选择了服务器部署webserv ...

  8. 虚拟化平台cloudstack新版本的调试

    虚拟化平台cloudstack(7)——新版本的调试 调试环境 ubuntu 12.04 JDK1.7 apache-maven-3.10 eclipse 4.2 Juno mysql 5 源码下载及 ...

  9. BCP导入导出MsSql

    BCP导入导出MsSql 1.导出数据 (1).在Sql Server Management Studio中: --导出数据到tset1.txt,并指定本地数据库的用户名和密码 --这里需要指定数据库 ...

  10. c# datagridview 设置某行不可见解决办法

    [前提]datagridview与数据库绑定,需要单独设置某行或者某个单元格不可见. [问题分析]直接用this.dataGridCiew1.Rows[0].Visible = false;不可行,会 ...