几行代码轻松让你的界面与众不同(for vc)
来源:互联网 发布:手机进程清理软件 编辑:程序博客网 时间:2024/05/18 01:47
前段时间时间写的“几行代码轻松让你的界面与众不同(for vb)“得到了很多人的肯定,深感欣慰,感觉自己的努力没有白费,趁热打铁,利用业余时间做出了vc版的皮肤空间供大家使用,有了前面的基础,感觉比做vb版的要轻松多了,一并也发出来供大家使用,使用中如果出现什么问题,尽管提出来,有可能的话,我会发布新版本来解决大家提出来的相关问题。下面是皮肤控件的相关说明,在说明中使用的动态调用的方法,如果你喜欢静态调用,我也为你提供了静态库。
一、皮肤组成:
本皮肤包含3个文件,其中2个文件(skinvariant.dll,skinres.dll)为皮肤相关文件,你需要要将这2个文件拷贝到你工程的文件夹里,还要有一个文件是vc支持库文件msvcrtd.dll,需要将其拷贝到系统目录里面(system32),否则你的皮肤将不起作用。
二、操作步骤(动态加载dll的使用说明):
1.在你的工程里新建一个头文件(skin.h)。
2.将下面的代码拷贝到你的头文件中。
#ifndef skinvariant_h_1
#define skinvariant_h_1
#include "stdafx.h"
BOOL LoadSkin(char szPath[128],char szUser[128],char szPass[128]);
BOOL UnLoadSkin();
typedef BOOL (*pSetSkin)(char szPath[],char szUser[],char szPass[]);
typedef BOOL (*pClearSkin)();
extern HMODULE hDll;
BOOL LoadSkin(char szPath[],char szUser[],char szPass[])
{
BOOL bResult=false;
if (hDll!=NULL) return bResult;
hDll=::LoadLibrary("skinvariant.dll");
if (hDll!=NULL)
{
pSetSkin SetSkin;
SetSkin=(pSetSkin)::GetProcAddress(hDll,"SetSkin");
bResult=SetSkin(szPath,szUser,szPass);
if (!bResult)
UnLoadSkin();
}
return bResult;
}
BOOL UnLoadSkin()
{
BOOL bResult=false;
if (hDll!=NULL)
{
pClearSkin ClearSkin;
ClearSkin=(pClearSkin)::GetProcAddress(hDll,"ClearSkin");
bResult=ClearSkin();
// BOOL AA=::FreeLibrary(hDll);
hDll=0;
}
return bResult;
}
#endif
3.在需要加载皮肤的地方调用加载函数。
LoadSkin(strPath.GetBuffer(strPath.GetLength()),"Demo","Demo");
4.在需要卸载皮肤的地方调用卸载函数
UnLoadSkin();
运行你的程序,看看出现了什么变化?是不是所有的控件都变的不一样了,
本皮肤支持几乎所有的标准控件,包括菜单,工具栏,状态栏等。
测试环境:vc6+win2000.
由于此处不能上传,所以将演示程序及控件放到了资源里面,大家到那边去下载吧,地址是 http://download.csdn.net/source/266415
- 几行代码轻松让你的界面与众不同(for vc)
- 几行代码,轻松让你的界面与众不同(for vb)
- 加两句代码让你的VC界面透明起来
- 让你的QQ名字与众不同
- 让你打开的新窗口与众不同
- 让你打开的新窗口与众不同
- 让你的man手册显示与众不同
- 什么让你与众不同?
- 简单几步,让你的编程更轻松
- iOS几行代码让界面变圆角
- [成人]爆强MSN签名让你的MSN与众不同
- 巧妙设置 让你的Vista启动画面与众不同
- 让你在客户眼中与众不同的两个字
- 会变得ActionBar,让你的ActionBar与众不同
- 轻松玩转CreateRemoteThread,让你的代码长出翅膀
- 轻松玩转CreateRemoteThread,让你的代码长出翅膀
- 轻松玩转CreateRemoteThread,让你的代码长出翅膀
- 简简单单的代码让你轻松学会动态代理
- pag 中各属性的介绍(官网.c#)
- Linux系统管理、应用与开发实践教程 - 图书目录
- 在MIDP1.0中简单模拟图片翻转功能
- jsp upload package "MultipartRequest and MultipartParser"的license是一本书,呵呵,有趣
- pag 中各属性的介绍(官网.c#)
- 几行代码轻松让你的界面与众不同(for vc)
- ACE_Select_Reactor的Notify功能实现浅析
- RHEL5实现高可用HA集群+GFS+EnterpriseDB
- 数字电路笔试题目1
- UNIX高手的十个习惯
- 英语短语爱情60篇
- Ehcache的配置说明
- 连续自然数之和问题(多种解法)
- Ria介绍