ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:39KB ,
资源ID:3519586      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3519586.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ActiveSkin教程.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

ActiveSkin教程.doc

1、ActiveSkin 的使用ActiveSkin 可以替你的软件作“ 换肤手术”,可以更换软件的外观,形状、颜色以及看起来的感觉。让软件界面不一定是长方形的,也可以是圆形、椭圆形或者不规则形状。不只是主窗口画面可以做变化,连软件的其他设定画面、对话框等等也都可以依照你的意思来设计,半透明、阴影等效果都可以。你还可以把软件设计得像是MAC、UNIX 等其他操作系统的软件的样子。设计步骤有四个:1. 先用绘图软件画出一张图,并且储存成 bmp 格式。 2.用文本编辑软件编辑一个 Skin.xml 文件。3.用 Visual Basic 设计一个对话框,并且把 ActiveSkin Control

2、放进去。你必须把 SkinPath 指定到放 Skin 文件的位置。 4.编辑 ActiveSkin Control 的 OnSkinNotify。注意:安装后请先执行 Install.bat,然后才能开始使用。相关连接: ActiveSkin 4.3 软件换肤在 VC 中的实现 ActiveSkin 作为一款优秀的 Win32 应用程序皮肤插件,有着使用简单,效果出色的诸多特点。正好这次在应用中用到了该插件,对使用中的注意事项做一个小结。 首先要找到一个 ActiveSkin 的软件,并且正确安装,这个很简单,另外说一下的就是它带的一些 Sample 效果十分出色,可以看看。对话框应用 在对

3、话框中的应用不是很复杂,应该可以看到很多中文例程,这里大概说一下。 在 Stdafx.h 中加入函数接口库。 #include #import “actskn43.ocx“ no_implementation raw_interfaces_only raw_native_types using namespace ACTIVESKINLib; 在 DlgApp.h 文件里添加语句 CComQIPtr m_pSkin;();在 Dlg.cpp 文件里添加语句 (YourApp*)AfxGetApp( )-m_pSkin=GetDlgItem(IDC_SKIN)-GetControlUnknown

4、();/m_pSkin 是应用程序全局量。 m_pSkin-LoadSkin(L“皮肤文件 X 的路径“);/如果 ActiveSkin控件中已有皮肤,此句可省略。 m_pSkin-ApplySkin(int)m_hWnd);基本上就可以看到基本的效果了,如果还要更多,可以看看附带的文章或者是ActiveSkin 附带的例子。 框架应用。 框架和对话框的应用有一些不同,应该是必须在对话框中将 m_pSkin 创建,然后框架才能够使用,于是必须增加一个对话框,并且在资源编辑器里面加入ActiveSkin 的控件,同时可以在这里指定 Skin 的路径。 在 app.h 中加入对话框的头文件,并且将

5、对话框的一个实例作为它的成员。然后在InitInstance()中加入以下代码: if (!m_dlgSkin.Create(IDD_SKINDIALOG) /创建对话框并应用Skin| !m_dlgSkin.m_hWnd | !m_pSkin) MessageBox(NULL, “Could not initialize ActiveSkin control.nPlease make sure it is installed properly.“, “Error“, MB_ICONEXCLAMATION); return false; 此句必须在 AfxEnableControlContai

6、ner();之后。 在对话框.cpp 文件的 OnInitDialog()里添加语句 (YourApp*)AfxGetApp()-m_pSkin = GetDlgItem(IDC_SKIN)-GetControlUnknown(); 对框架视图的切换,使用上还有一切问题,具体描述就是切换视图之后,视图上控件的皮肤会失去,需要修改一下代码,明天来做吧,今天太累了,玩几把War3再说,哈哈。 ActiveSkin 是一款给软件更换皮肤的 ActiveX 控件。它很还好的将软件界面设计工作从繁琐程序代码编写中解放出来,使得功能设计者可以专心于功能代码的实现,而把软件界面交给美工人员处理。提高了界面设

7、计的工作效率,是一种很好的软件设计思想。下面通过三个示例来介绍他的一般使用。示例一:标准型皮肤 SkinForm 的对话框工程在 VC 环境下建立一个 MFC 基本对话框工程。在对话框的资源文件里 Dlg.rc 设计对话框界面中,删去已有的按钮 Buttons 和标签 Lables,并插入 ActiveSkin 的ActiveX 控件,命名为 IDC_SKIN。右键点击 ActiveSkin 控件,在 ActiveX 属性里选择LoadSkin 菜单项,可预先加载一个 Skin 文件。在 StdAfx.h 中 /AFX_INSERT_LOCATION 之前添加以下语句: /目的是导入 Acti

8、veSkin 的函数接口库。i nclude #import “actskn43.ocx“ no_implementation raw_interfaces_only raw_native_typesusing namespace ACTIVESKINLib;接着,在 Dlg.cpp 文件里添加语句: CComQIPtr m_pSkin=GetDlgItem(IDC_SKIN)-GetControlUnknown();/m_pSkin 是应用程序全局量。m_pSkin-LoadSkin(L“皮肤文件 X 的路径“);/如果 ActiveSkin 控件中已有皮肤,此句可省略。m_pSkin-Ap

9、plySkin(int)m_hWnd);编译运行,可以看到皮肤文件 X 成为了程序的运行界面。如果想要在程序运行时更换皮肤,那也是可以的。在对话框上建立一个 Button,并添加 Click 事件: void CMy1Dlg:OnBNewSkin() static char BASED_CODE szFilter = “ActiveSkin Files (*.skn)|*.skn|“;/文件过滤器设置。CFileDialog dlg(FALSE, “.skn“, NULL, OFN_HIDEREADONLY, szFilter);/Skin 文件选择窗口。if (dlg.DoModal() =

10、 IDOK)/Skin 文件选择成功:USES_CONVERSION;m_pSkin-LoadSkin(T2W(dlg.GetPathName();/载入指定的 Skin 文件。m_pSkin-ApplySkin(int)m_hWnd);/使当前 Skin 生效。 你会发现运行时主窗口已经换肤成功了,但“关于”对话框等非主窗口并没变化。需要在 AboutDlg 的 OnInitDialog()事件中加入一句:m_pSkin-ApplySkin(int)m_hWnd);再运行就一切 Ok 了!示例二:标准皮肤 SkinForm 的多文档工程和示例一的做法类似,不同的只是子窗体在 ChildFrm

11、.cpp 的 Create 事件中要做修改: BOOL bRes = CMDIChildWnd:Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, pContext);m_pSkin-ApplySkin(long)m_hWnd);return bRes;这样就可以了。 示例三:自由皮肤 SkinFreeForm 的事件操作和上述的 SkinForm 不同,SkinFreeFrom 是另一类型的皮肤文件方案。因此它的操作方法上就有所不同了。可以参照 ActiveSkin 自带样例中的 DesktopColorizer

12、一例。SkinForm 和 SkinFreeFrom 的主要区别在于 SkinApply 方法和事件的驱动方式上。 if(FAILED(m_pSkin-LoadSkin(Temp)| /均使用 LoadSkin()装载某一Skin,参数是 Skin 文件的路径名。FAILED(m_pSkin-ApplySkinByName(long)m_hWnd, L“FreeForm“)/SkinForm 类型的皮肤使用 ApplySkin 使其生效,/这种方式会自动将某 Skin 中的所有 SkinObject 元素替代指定 Handle 的窗口。/SkinFreeForm 类型的皮肤使用 ApplySk

13、inByName()使其生效,/其中第一个参数是窗口句柄,第二个参数是 SkinBuilder 中一个 Object 的名字。 MessageBox(“Could not load or apply the skin.“);PostMessage(WM_CLOSE); return FALSE;事件驱动的区别:SkinForm 换肤时不影响程序代码的原事件工作方式,只是界面上的换肤,因而 SkinForm:ApplySkin(Handle)就 OK 了;但是 SkinFreeForm 就不同了,它必须用一个消息泵,采用消息的方式使程序获得 Skin 上的事件,而且在其事件中采用 ISkinObject:GetName(BSTR *)获得相关的皮肤元素,用GetSkinnedWindow(hWnd).FindObject(“Screen“)来获取相应的元素句柄设置元素状态。简单的消息泵可以通过 Skin 控件上右键 Event 设置并编写。具体实现请看示例源代码。示例在使用前请安装好 ActiveSkin4.3,可能还需要修改事例中 Skin 控件初始的 LoadSkin(Skin 文件) 才能正常使用。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。