注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

316Studio

分享资源,分享快乐··

 
 
 

日志

 
 

【转载】使用SkinMagic美化界面  

2012-08-12 22:48:38|  分类: 电脑技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自wingjang《使用SkinMagic美化界面》
首先从http://www.vckbase.com/tools/assist/SkinMagic2.21TrialCracked.rar下载skinMagic 2.21。

基本的使用方法可以查得到。但是具体到一个特定的程序,查到的资料是不够的。从下载的包里面可以看到一个手册,英文的,研究了一天终于领悟了使用方法。

根据我的需要, 美化步骤如下:

 

1.使用SkinMagicBuilder.exe建了一个皮肤文件

  点击menubar上的Tools,选择Skin wizard,出现以下界面:

使用SkinMagic美化界面 - wingjang - wingjang的博客


选择自己需要的caption button,如果此时没有选择,而是在后面手工添加,需要自己增加button的映射。

点击‘下一步’,出现

使用SkinMagic美化界面 - wingjang - wingjang的博客

选择需要美化的object,看到以下界面:

使用SkinMagic美化界面 - wingjang - wingjang的博客

在这个界面里,可以增加需要的bitmap图片,如果此时不添加,也可以在后面添加。

点击‘完成’,出现

使用SkinMagic美化界面 - wingjang - wingjang的博客

可以进行编辑,双击‘Mainframe’,可以看到效果图:

使用SkinMagic美化界面 - wingjang - wingjang的博客

上面的几个caption button分别对应系统菜单、最小化、最大化、关闭。点击button,该button的属性会在右边出现,点击‘Normal’,会出现编辑button图片的界面:

使用SkinMagic美化界面 - wingjang - wingjang的博客

点击下拉框选择一个图片(只能选择已经load的图片,如果发现需要的图片没有load,可以回到主界面,右键-Load Image,或者在菜单栏选择Objects—Load Image),选择之后拖动小红点,选择需要用到的部分,小红点拉成矩形之后可以移动。也可以在左边的Selection区域直接输入图片坐标。Zoom可以放大图片,更好的观察效果。

 

已经选择的caption button或者其他object可以删除,当然,也可以添加新的object

 

因为要在菜单栏增加button,所以需要添加caption button,如下图

使用SkinMagic美化界面 - wingjang - wingjang的博客

单击‘SkinCaptionButton’,然后在‘Mainframe’上点击鼠标,就会有一个新的caption button出现在界面上,button的位置可以调整。


如果需要在菜单栏增加文字,比如在左上方显示“播放器”,那么需要增加一个SkinCaptionStatic对象。

2.把皮肤文件应用到VC

  因为增加了新的captionbutt,需要在程序中做消息映射,所以在编辑皮肤文件时,给每个button指定一个ID,这个ID可以在右边的属性栏里编辑。当然,这个ID必须要和VC工程中的资源ID不重复,可以查看Resource.h,确认ID没有和已有的资源ID重复。

  保存皮肤文件之后,点击File—export,保存.h文件,例如是SkinMagicID.h

使用SkinMagic美化界面 - wingjang - wingjang的博客

SkinMagicID.h文件的内容都是对一些ID的定义,例如: #define IDC_ROLLWINDOW 5001

SkinMagicID.h加入到工程。

 

*Dlg.cpp文件里加上:#include "SkinMagicID.h"

并在消息映射代码部分,加上对button的处理:

BEGIN_MESSAGE_MAP(CPlayerDlg, CDialog)
//{{AFX_MSG_MAP(CPlayerDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_DESTROY()
ON_WM_CLOSE()
//}}AFX_MSG_MAP
ON_COMMAND( IDC_ROLLWINDOW , OnRollWindow )
END_MESSAGE_MAP()

以上的‘ON_COMMAND( IDC_ROLLWINDOW , OnRollWindow )’,代表在点击IDC_ROLLWINDOW的时候,执行OnRollWindow函数。

 

为了使用皮肤,还需要进行以下的设置:

在工程中添加SkinMagic的库文件,project—setting,选择linkcategory选择input,在additional library path里面填上SkinMagicTrial.lib的完整路径

使用SkinMagic美化界面 - wingjang - wingjang的博客

stdafx.h文件里面添加如下代码:

#include "SkinMagicLib.h"

#pragma comment(lib,"SkinMagicTrial.lib")

 

SkinMagicLib.h添加到工程。将SkinMagicTrial.dll拷贝到工程目录。

 

*App类的InitInstance()函数的开头加上以下代码:

VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), _T("ReadUI") ,NULL,NULL ) );

VERIFY( 1 == LoadSkinFile(“皮肤文件.smf”));

ExitInstance()函数里加上:ExitSkinMagicLib();

 

点击view—classwizard,为*Dlg类添加WM_CREATE消息的处理函数Oncreate,在Oncreate函数开头加上代码:

VERIFY( 1 == SetSingleDialogSkin( m_hWnd, "MainFrame" ) );

EnableWindowScrollbarSkin( m_hWnd , SB_BOTH );

 

PS,因为在创建皮肤文件的时候,Name"MainFrame",所以这里用"MainFrame",当然,你可以把它改成任何合法的字符串。

 

  评论这张
 
阅读(507)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017