VC中皮肤空间的使用
[准备工作]
1、将SkinMagicTrial.dll放置在调试目录
2、设置库文件目录,找到SkinMagicTrial.lib文件,在【工具】——【选项】——【目录】(【目录】选择Library files),然后在【路径
】中添加加SkinMagicTrial.lib文件所在路径,如我在工程中新建一个skin文件夹,把SkinMagicTrial.lib文件放置在skin目录中,路径为
“E:/学习/VC++/实验/EX_CTRLSDI/SKIN”
4、连接库文件SkinMagicTrial.lib,【工程】——【设置】——【连接】,在【对象/库模块】中输入SkinMagicTrial.lib
5、在所建工程中放置SkinMagicLib.h文件,然后在项目的stdafx.h文件中加入头文件 #include "SkinMagicLib.h"
6、把*.smf皮肤文件放置在skin目录中(可以自己选择放置的目录),然后用记事本打开.rc文件,添加代码如下:
//把皮肤载入工程资源中
// SKINMAGIC
//
XPBLUE SKINMAGIC DISCARDABLE "skin//xpblue.smf"
CORONA SKINMAGIC DISCARDABLE "skin//corona.smf"
添加完毕后,会发现资源视图中会多了一个“SkinMagic”的目录
7、在App类的InitInstance函数中添加
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
8、使用
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
//添加代码
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));//为窗口添加皮肤
VERIFY( 1 == SetDialogSkin( "Dialog" ) );//为对话框添加皮肤
参考:
3、为窗口添加皮肤:
1)为标准窗口(拥有标题栏、系统菜单、可变大小等特征,比如文档/视图结构和有菜单的对话框)添加皮肤,通常用于主窗口。在应用程序类的InitInstance()函数的底部加入如下代码:
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
说明:
int SetWindowSkin(
HWND hWnd, //要使用皮肤的窗口句柄
char* lpSkinName //为skinFrameWnd对象指定的名称
);
2)为对话框添加皮肤
在对话框显示之前调用,通常在应用程序初始化函数中调用
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
说明:
int SetDialogSkin(
char* lpSkinName //为skinFrameWnd对象指定的名称
);
使用该函数后,以后程序创建的对话框都将使用该皮肤,但对话框大小不可变。
3)为单个对话框窗口添加皮肤,例如在对话框视图中:重载对话框视图的创建函数OnCreate,加入如下代码:
VERIFY( 1 == SetSingleDialogSkin( m_hWnd, "Dialog" ) );
EnableWindowScrollbarSkin( m_hWnd , SB_BOTH );
说明:
int SetSingleDialogSkin(
HWND hWnd, //要使用皮肤的窗口句柄
char* lpSkinName //为skinFrameWnd对象指定的名称
);
int EnableWindowScrollbarSkin( //为滚动条添加皮肤
HWND hWnd, //要使用皮肤的窗口句柄
int* fnBar //要使用皮肤的滚动条,SB_BOTH表明是横竖都是用皮肤
);
9、释放SkinMagic资源
重载应用程序的ExitInstance()函数,添加如下代码:
ExitSkinMagicLib();
2009-11-24
VC中皮肤空间的使用相关推荐
- c 语言 多进程,VC++中进程与多进程管理的方法详解
本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考.具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行.子进程的创建与结束等作了较详细的阐述. ...
- VC中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法总结。
C/C++ 预定义宏 例子:C/C++ 预定义宏的取值 C/C++ 预定义宏用途:诊断与调试输出 CRT 的诊断与调试输出:assert, _ASSERT/_ASSERTE, _RPTn/_RPTFn ...
- 浅谈Python和VC中的编码问题(转)
以前编码问题总能让自己凑或蒙过去,最近要做一个项目服务器端用python写,客户端用c++,工程编译的字符集使用UNICODE.之间通过socket进行通信,通信过程中编码转换问题把我搞得晕头转向,逼 ...
- VC中GetLastError()获取错误信息的使用,以及错误代码的含义
在VC中编写应用程序时,经常需要涉及到错误处理问题.许多函数调用只用TRUE和FALSE来表明函数的运行结果.一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因 可问 ...
- VC中ADO连接SQLSERVER的几种标准方式?
VC用ADO访问数据库全攻略,介绍了VC用ADO来访问数据库的各个对象及各方法,很经典,也很实用,很值得一看. 正文 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE D ...
- VC++中进程与多进程管理的方法[转]
VC++中进程与多进程管理的方法 关键词: VC++6.0:进程:环境变量:子进程 进程 进程是当前操作系统下一个被加载到内存的.正在运行的应用程序的实例.每一个进程都是由内核对象和地址空间 ...
- 在VC中使用ADO开发数据库应用程序
在VC中使用ADO开发数据库应用程序 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 ...
- list在c语言中的作用,在C语言中大略实现VC++中的LISTARRAY功能方法(一)
在C语言中大概实现VC++中的LISTARRAY功能方法(一) #ifndef __LISTARRAY_H__ #define __LISTARRAY_H__ #include "rtthr ...
- 圆弧的函数c语言,VC++中Arc函数画圆弧
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:VC++中Arc函数画圆弧回答:BOOL Arc(int x1,int y1,int x2,int y2,int x3,int y3 ...
最新文章
- 为什么以太网的最小数据帧长度为64字节?
- 中国中老年化妆品行业消费需求现状与产销规模前景展望报告2022年
- Linux桌面环境介绍以及优缺点分析
- java 雪花特效_java实现图片飘雪花的特效
- PHP 循环删除无限分类子节点
- c#获取当前时间 毫秒_《Linux设备驱动程序》(十二)——时间操作(一)
- 快速pow和sqrt的小技巧 hdu4282
- 【2021新版】一线大厂 Go 面试题合集
- 你真的了解Python吗?这篇文章可以让你了解90%,赶紧收藏!
- 【华为云技术分享】一行代码就能写一个日志打印组件,你信吗?为你揭晓LiteOS中日志打印组件的核心
- java json重命名,eclipse中java变量怎么变成json格式的编码?
- 新冠病例继续攀升 苹果关闭纽约市所有实体店
- 判断回文串时忽略既非字母又非数字的字符
- printk打印机别
- oracle创建dblink问题
- 用线性同余法生成伪随机数
- Rust vs. Go:为什么他们在一起更好
- 程序员是如何下载的视频?
- 揭秘北京奥运会上的中国保镖[转贴]
- Google guava之Multimap简介说明
热门文章
- 计算机网络信息中心几号知道成绩,中科院计算机网络信息中心招生常见问题答疑...
- 成都写字楼租金价格?国际文创产业园数字影像产业总部基地大厦租金价格出炉!
- 站在中间立场看 360 VS QQ
- SpringBoot集成Mybatis Plus
- C语言:用指针法输入12个整数,然后按每行4个数输出
- 【判断语句If】一、键盘录入一个数据,判断该月份的季节。二、李雷买新手机
- 以下属于python中文分词方向第三方库的是_以下选项中是 Python 中文分词的第三方库的是( )...
- 关于三角形内切圆、外接圆的数学问题
- 常用分析问题的几种方法
- 写一篇关于小学语文教育教学的论文4000字