您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:281 来源:vckbase.com

使用免费界面换肤软件 USkin

作者:thirdwolf

下载源代码
逆风者

一、介绍

  我们都知道,Skin以前是一项比较难的技术。但至从WindowsXP推出以来,Skin或者说Theme变得很普遍。虽然WindowsXP可以支持Theme,但当我们改变WindowsXP的风格时,所有支持WindowsXP风格的应用程序都变成一样的风格,如何让我们的软件不仅具备Skin,而且要靓丽更吸引人更有个性更加与重不同呢。这里我给大家推荐一款换肤软件USkin。

为什么要使用USkin?

1.节省您的开发时间。您不必花太多的精力在界面美化上。只需完成软件功能,加入3行代码即可实现换肤功能。
2.美化软件界面。
3.支持颜色主题。一个皮肤当100个用。
4.免费。不用花一分钱就能拥有换肤功能。
5.同样提供免费的皮肤编辑器。您可以自己DIY出个性界面。



图一 USkin界面效果


图二 USkinBuilder界面

二、USkin特性

  • 支持20多种Windows标准控件
  • 支持文件、颜色、打印、字体等标准对话框
  • 支持第三方/自定义控件
  • 支持所见即所得的皮肤文件编辑
  • 支持MDI/SDI/Dialog风格的应用程序
  • 支持WindowsBlind皮肤文件导入,多达万个现成皮肤供您使用
  • 支持颜色主题,一套皮肤可以演变成多种皮肤 *
  • 支持多种编程语言
  • 支持多线程
  • 支持动态换肤
  • 支持所有弹出菜单,包括Edit控件右键弹出菜单
  • 只需三行代码即可实现换肤
  • 支持ListView/TreeView等控件滚动条换肤
  • 皮肤资源文件所占空间小
  • 三、如何使用代码
    第一步,包含USkin.h头文件.
    
    #include "uskin.h"
    
    
    第二步在 InitInstance 函数里调用 USkinInit .
    
    BOOL CSDIApp::InitInstance()
    
    {
    
    	
    
    	InitCommonControls();
    
    
    
    	CWinApp::InitInstance();
    
    
    
    	if (!AfxOleInit())
    
    	{
    
    		AfxMessageBox(IDP_OLE_INIT_FAILED);
    
    		return FALSE;
    
    	}
    
    	AfxEnableControlContainer();
    
    	// Init USkin lib and load media skin file
    
    	USkinInit(NULL,NULL,_T("media.u3"));
    
    	SetRegistryKey(_T("Local App"));
    
    	LoadStdProfileSettings(4);
    
    	
    
    	CSingleDocTemplate* pDocTemplate;
    
    	pDocTemplate = new CSingleDocTemplate(
    
    		IDR_MAINFRAME,
    
    		RUNTIME_CLASS(CSDIDoc),
    
    		RUNTIME_CLASS(CMainFrame),
    
    		RUNTIME_CLASS(CSDIView));
    
    	if (!pDocTemplate)
    
    		return FALSE;
    
    	AddDocTemplate(pDocTemplate);
    
    
    
    	this->RegisterShellFileTypes();
    
    	TCHAR sz[500];
    
    	::GetModuleFileName(NULL,sz,500);
    
    	AfxMessageBox(sz);
    
    	
    
    	CCommandLineInfo cmdInfo;
    
    	ParseCommandLine(cmdInfo);
    
    	
    
    	if (!ProcessShellCommand(cmdInfo))
    
    		return FALSE;
    
    	
    
    	m_pMainWnd->ShowWindow(SW_SHOW);
    
    	m_pMainWnd->UpdateWindow();
    
    	
    
    	//if you want do your own subclass,call USkinInit here
    
    	//USkinInit(NULL,NULL,_T("media.u3"));
    
    	return TRUE;
    
    }
    
    
    最后在退出前调用 USkinExit即可.
    
    int CSDIApp::ExitInstance()
    
    {
    
    	USkinExit();
    
    	return CWinApp::ExitInstance();
    
    }
    
    
    四、更新历史

    1.免费全新的SkinBuilder2.0.独创国内唯一完善的MDI模式的SkinBuilder,支持用户自定义皮肤对象!
    2.重组核心架构,更快捷高效,更强的扩充.
    3.新增的绘制模式选项。独有半透明效果支持!!!
    4.皮肤对象支持消息事件!用来做Winamp太简单了!
    5.文档完善齐全!
    6.拥有版权证明!大家可以放心使用.
    7.修正1.0版所有已知错误。

    相关文章

    把 C# 语言开发的控件内嵌在网页里面
    支持数据项查找功能的树控制(CTreeCtrl)类
    QQ魔法表情实现原理
    介绍一种数据库远程备份方案
    Windows CE下驱动开发基础
    编写、加载和存取插件程序(Plug-Ins)
    通过串口收发短消息(下)
    一个打印报表的简单的类
    QQ界面的模拟实现(下)
    USB有关的编程
    一个关于#include的问题
    如何用代码动态添加控件
    C 程序的外部变量与函数
    通过串口收发短消息(上)
    更改屏幕显示数据的作弊程序
    在VC中使用 Flash 美化你的程序
    用鼠标手势动作来发送命令
    事件编程(二)
    浅谈PDFlib中文输出(四)PDFlib 接收的几种
    后缀表达式求值及校验

    相关评论


    本文章所属分类:首页 VC++

      热门关键字: