词条 | Skin++ |
释义 | Skin++,系统软件,采用独特的软件界面开发技术,让原本复杂繁琐的界面编程变得轻松自如,随着换肤技术的不断进步,Skin++不仅是功能强大的换肤控件,而且是一款非常通用的换肤插件。只需要在您的程序中添加一句代码,Skin++就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能。 Skin++ 特性换肤彻底,支持Windows系统对话框与控件换肤; 换肤全面,支持所有的Windows标准控件; 支持所有Win32/Win64平台,包括.Net应用程序; 使用简单,只需一行代码实现整体换肤; 可视设计,提供皮肤设计工具,所见即所得的设计开发环境; 色调变换,支持皮肤色调变换,每一套皮肤都拥有N种色调风格; 支持广泛的开发工具, VC/VB/Delphi/C++Builder/VS. Net/PowerBuilder/E; 支持流行的Windows操作系统; 皮肤资源海量,提供方便的皮肤转换工具,可以将目前主流的皮肤主题转换成Skin++格式; 支持Unicode,提供多种编码格式; 支持静态库链接,与客户程序可以进行无缝整合; 支持第三方控件; 界面与业务逻辑彻底分离; Skin++ 实现原理Skin++属于第二代的外挂式的界面库。 Skin++ 提供了SkinBuilder 工具将所有控件的资源全部设计成为一个独立的文件,便于在应用程序外部独立地进行增删改操作。 Skin++ 主要采用Hook与子类化技术来实现应用程序的自动换肤。 Skin++换肤的大致流程1、应用程序启动,加载Skin++库; 2、执行Skin++加载皮肤文件API函数; 3、Skin++ 安装窗口过程等类型Hook,准备截获应用程序所有窗口的创建事件; 4、Skin++ 收到窗口创建等消息,根据类名、风格等一些条件来判断是否对该窗口进行子类化; 5、窗口子类化即可以收到该窗口所有的消息; 6、根据不同的消息进行相应的处理。如:WM_PAINT消息,Skin++对其进行绘图的操作; 7、绘图中需要用到图片、文字、字体等资源即根据ID、名称等条件到皮肤文件中去查找; 8、控件运行过程中,各种界面行为的变化均可通过处理消息与API函数来进行; 9、控件销毁时,Skin++即对其进行反子类化,将Skin++换肤前的消息过程地址重新设成当前的消息过程; 10、控件所有的消息不再经过Skin++消息处理函数。控件执行其默认的窗口消息处理函数; 11、应用程序退出,Skin++库被卸载,在卸载之前Skin++获得通知,Skin++便在内部执行Hook的反初始化与资源文件的清理。 Skin++ 支持的开发工具支持VC++各种版本:VC6,VC2003,VC2005,VC2008; 支持VisualStudio. Net各种版本:VisualStudio. Net 2003, VisualStudio. Net 2005, VisualStudio. Net 2008; 支持 PowerBuilder 各种版本:PowerBuilder 6.0,7.0,8.0,9.0,10.0,10.5,11.0; 支持 Delphi各种版本:Delphi 4,5,6,7,8,2005,2006; 支持C++ Builder 各种版本:C++ Builder 4,5,6,2006; 支持E语言各种版本。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。