- 产品特性
- 详细功能特性
- 截图预览
- 版本历史
DSkinLite名称由来?
我们之所以加“lite”,未直接命名DSkin。最初的目的有两个:
首先用来与一些较早的采用全Hook的方式界面库如appface,skinmagic等做区分,老式产品往往采用HOOK方式,同时兼容各种开发平台如VB,.net, delphi等,整个控件会比较庞大。从这方面来讲,DSkinLite未采用Hook,同时专注于VC平台,算是一个lite级的界面库系统。
其次也是最重要的是原因,是希望警醒我们自己不管产品功能如何扩展,我们都要时刻关注界面库的运行效率,产品的易用性等。即功能强大,运行轻快。
DSkinLite界面库主要特点:
简单易用
DSkinLite界面库API及XML配置语法简单,开发人员一般可以在2-3天内熟悉使用方法。DSkinLite采用C++编写,专为Visual Studio开发者设计,开发者可以很容易的将DSkinLite整合到已有软件工程中或者迅速、便捷的开发新的软件。
功能完整强大
DSkinLite界面库采用XML管理GDI元素,并独创了将界面元素抽象为图片,矩形,线条,文字等元素。任何一个界面均可以由这些元素来组合,即使用DSkinLite可以轻松配置各种界面效果。详细功能特性同时针对Win32控件本身的一个局限,DSkinLite中加入了一些自绘的控件,来解决使用标准Win32控件无法解决的界面需求。详细了解,WidgetTree自绘控件,WidgetTab自绘控件。
同时DSkinLite新版本全面整合了本公司DirectUI界面库中的部分DirectUI元素,实现DirectUI机制,用户可自由选择使用DirectUI绘制方式。
高效
没有采用Hook所有窗口消息的方式,DSkinLite采用MFC,ATL等framework类似的方式,简单替换窗口过程(SetWindowLong),截取界面绘制等消息,对应用程序来说基本上是透明的。从这个方面讲,DSkinLite是一款轻量级的界面库。我们专注于程序库的高效性,具体表现在内存占用,界面绘制速度,界面防止闪烁,程序加载图片资源、解析XML文件的速度等方面,我们做了很多工作,并不断持续优化。
持续更新
DSkinLite推出三年多来,受到国内外客户的广泛好评。拥有众多企业客户和成功案例,我们不断持续优化产品并根据客户需求持续加入新的特性。同时我们坚持严格的代码管理和review保证产品质量。
周边产品完整
控件库DSkinControl为一款基于MFC的控件库,部分控件使用DSkinLite美化。DSkinControl提供一个常用的逻辑控件,可大大简化界面开发。控件ekRichEdit为一款RichEdit扩展控件,提供丰富的富文本应用。DSkinLite可与这些扩展控件共同使用,解决界面多样化的需求。
丰富的帮助文档
界面库提供丰富的帮助文档及配套入门教程。帮助文档包括详细配置教程、API、xml属性介绍。同时我们撰写超过50篇中文博客文章,详细介绍产品各方面的使用方法及功能特性,我们还提供入门教程文档及视频教程。
| 功能特性 | 详细描述 | |
| 界面统一特性 | 界面色调动态调整 | 支持界面整体换色,同时可自由控制图片,文字,控件等是否换色。可通过HSL和color两种方式来更换色调。 |
| 支持DirectUI元素 | DSkinLite全面整合DirectUI界面库部分元素,通过eventitem等元素实现DirectUI绘制,用户可以在控件及窗口中定义自己的DirectUI元素 | |
| 多种皮肤加载方式 | 支持从文件夹,压缩文件,VC资源三种方式加载皮肤 | |
| 全面支持滚动条 | 除支持list box, edit,rich edit, list control, tree control等滚动条外, 也支持windows内置的滚动条。 |
|
| 皮肤文件打包 | 可使用我们提供的SkinBuilder工具,将皮肤文件整体打包。 | |
| 高速图片解析库 | 支持多种图片格式 支持bitmap,png带透明通道,gif,jpeg等格式。 采用公司研发的图片解析库,针对界面编程做了诸多优化和扩充。 |
|
| 支持多个开发平台 | 支持MFC,ATL,WTL,win32等多个开发环境,同时支持VC6-VS 2010 多个平台。 | |
| 静态库 | 可提供VS 2003 - 2010 各个平台下的静态库版本 | |
| Unicode | 支持Unicode/多字节开发环境 | |
| 支持控件自绘 | 提供控件背景自绘功能,用户可以DSkinLite绘制控件前或者绘制控件后,根据提供的接口绘制控件界面。同时支持list control,listbox,tree control等控件自绘功能。 | |
| 动态控制界面显示效果 | 可以根据程序逻辑动态控制控件界面的显示效果,如更换控件背景,控件文本等。 | |
| 支持动画显示 | 支持动画显示,并通过API控制动画显示。支持gif格式,和多张png图片格式组成的动画。 | |
| 自定义数据支持 | 可以在XML中配置控件的自定义的属性。例如:控件大小,行高以及每行的显示内容等,这样可以大大的方便换肤以后的整体的效果。 | |
| 动态加载xml配置文件 | 完全支持插件式开发。在插件式界面开发中,某些界面可能是后来通过升级等方式添加的功能模块, DSkinLite可以动态加载这些插件界面的xml配置文件。 |
|
| 支持控件、子窗口透明 | DSkinLite高效支持大部分控件,子窗口透明,以及多层窗口透明。 | |
| ToolTips支持 | 可以自由在XML定义控件tooltips提示语,也可以通过函数dsSetToolTips动态设置。 | |
| 标题栏添加控件 | 支持在窗口标题栏区域,添加控件。 | |
| 支持美化的MessageBox | DSkinLite通过API dsMessageBox支持MessageBox的美化,您可以完全配置MessageBox窗口背景,提示icon图标等。 | |
| 基本控件支持 | 支持标准控件 | 支持static,button,checkbox,radiobox,edit,listbox,list control, tree control combobox, header control, group box, slider,spin, tab control, progress,toolbar control. menu, richedit,datetime control. |
| 支持Split button | Split button,是指一个button有两部分,左右均可响应事件。 | |
| 完全支持Menu的绘制 | 支持Menu背景,item绘制,同时支持设置item图标ico。 | |
| 支持Item绘制 | 支持根据XML定义list control,tree control, list box等item的风格,并绘制item。同时支持定义eventitem响应事件。 | |
| 扩展自绘支持 | dsTreeControl自绘控件 | dsTreeControl控件是一款类似Tree control的树形控件,主要支持一些标准树形控件 不能完成的功能,如设置不同item的不同高度。 |
| dsTabControl自绘控件 | dsTabControl控件是一款类似Tab control的树形控件,主要是为了解决标准Tab控件的限制,满足更多需求。 |
以下为DSkinLite界面库部分示例截图:
功能特性:
![]() 一般控件支持示例 |
Edit控件示例 |
滚动条控件示例 |
|
Menu示例 |
List control控件示例 |
扩展控件WidgetTree示例 |
|
扩展控件WidgetTab示例 |
控件透明特性示例 |
messagebox支持示例 |
软件Demo示例截图:
|
|
|
| 下载类软件示例 | 聊天工具类软件示例 | 游戏大厅类示例 |
- Version 3.7.7.0 2011-2-17
-
- Fixed the relative position error in TreeCtrl.
- Minior bug fixed.
- Version 3.7.6.2 2011-1-10
-
- Added example SortListCtrl.
- Support to customize WM_SYSCOMMAND message.
- Minior bug fixed.
- Version 3.7.6.1 2010-12-25
-
- Support drawing the backgroud of common window with scrollbar.
- Support progress bar for listbox item.
- Version 3.7.6.0 2010-12-21
-
- Support putting the close system button to the far right.
- Fixed changing the listbox item style,the eventitem doesn't change.
- Fixed eventitem problem in listbox.
- Fixed dsGetIcon function problem.
- Version 3.7.5.6 2010-11-28
-
- Fixed the png drawing problem.
- Fixed eventitem problem in listctrl.
- Version 3.7.5.3 2010-11-20
-
- Support all paintmodes for 32bit png.
- Moidfied the dsTabControl message,the WPARAM parameter is the handle of the control.
- Support defining more drawing elements named "slider.bg","slider.fg" in slider control.
- Fixed the color is not adjusted under "drawitem" label.
- Fixed messagebox buttons have different position under different system theme.
- Fixed dsSetItemStyle return wrong value.
- Version 3.7.4.5 2010-11-11
-
- Fixed listbox draws the first item when it has no item.
- Version 3.7.4.4 2010-11-08
-
- Added tooltips to dsTabControl,dsTabControl::SetItemToolTip.
- Added drap drop to dsTreeControl.
- Added API dsTreeControl::MoveItem.
- Added examples\RelativePosTest.
- Updated examples\WidgetTab.
- Updated demos\MessengerDemo.
- version 3.7.4.2 2010-11-03
-
- Added attribute "alwaysShowIcon" to "treectrlInfo".
- Suppport tree or more drawing items using relative position.
- Added "autosize" property to image item.
- Minior bug fixed.
- Version 3.7.4.1 (10-25-2010)
-
- Support setting multi-background to different level of menu.
- Added API dsTreeControl::IsItemExpanded
- Fixed the bug that when pressing Enter key and button can't be clicked.
- Fixed DateTime control drawing problem.
- Version 3.7.3.6 (10-15-2010)
-
- Fixed problem the messagebox can't pop up when the dialog is minimized.
- Added more jpeg suffix.
- Version 3.7.3.3 (10-11-2010)
-
- Added default value to dsAdjustColor2 to restore the skin color.
- Fixed file handle doesn't close after image files loaded.
- Version 3.7.3.2 (10-7-2010)
-
- Added API dsSetDrawItemValueOfEventItemEx
- Added API dsSetDrawItemVisibleOfEventItemEx
- Added dsTabControl::AddCustomItem
- Support gray image for Jpeg format
- Minior bug fixed
- Version 3.7.2.0 (9-16 2010)
-
- Modified the dsTrackPopupMenu function,returning the value if specifying TPM_RETURNCMD.
- Support jpeg image.
- Minior bug fixed.
- Version 3.7.1.0 (8-29 2010)
-
- Added WidgetTab control.
- Added example WidgetTab.
- Added feature adjusting the color theme according to the color value.
- Added API dsGetMaxMinBox.
- Added API dsAdjustColor2.
- Fixed the messagebox button position problem.
- Minor bug fixed.
- Version 3.6.4.2 (7-25 2010)
-
- Added feature when clicking on evenitem in WidgetTree, the LButtonDown message will not continue pass if returning TRUE.
- Added project configuration for Visual studio 2010.
- Fixed minior gdi leak of edit control.
- Version 3.6.4.0 (7-9 2010)
-
- Added feature when clicking on eventitem in tree control, the LButtonDown message will continue pass.
- Added API dsSetToolTips.
- Minor bug fixed.
- Version 3.6.3.2 (6-28 2010)
-
- Added Self-Paint to list control.
- Minor bug fixed.
- Version 3.6.3.0 (6-15 2010)
-
- Support tooltips in dsTreeControl event item.
- Added attribute "onlyBlackWhite" to color element.
- Minor bug fixed.
- Version 3.6.1.7 (6-1 2010)
-
- Added TVI_FISRT,TVI_LAST to dsTreeControl::InsertItem
- Minor bug fixed.
- Version 3.6.1.4 (5-24 2010)
- Version 3.6.1.0 (5-16 2010)
-
- Support image to be gray.
- Added support to replace animateitem in an anitmation.
- Fixed dsTreeControl focus problem.
- Fixed last item drawing problem of listbox with a transparent
- Version 3.6.0.1 (5-10 2010)
-
- Added background image to list box. 了解更多
- Added transparent feature to list box.
- Added self-paint to list box.
- Support multi-level to dsTreeControl.
- Added self-paint to dsTreeControl.
- Added more features to example WidgetTree.
- Added more features to example ListBox.
- Fixed the bug of api dsTreeControl::SetItemHeight.
- Version 3.5.6.0 (5-5 2010)
-
- Fixed the problem gif with one frame can't be displayed.
- Fixed the list control's scrollbar show problem when using SetItemCount.
- Fixed the bug when clicking the check button quickly, GetCheck function returns error value.
- Version 3.5.5.0 (4-25 2010)
-
- Fixed item drawing problem in dsTreeControl.
- Added reading config.ini to Skin Builder.
- Added probject solution "lib_release" to demos.
- Version 3.5.4.0 (4-18 2010)
-
- Added "SendSysCmdMsg" to dialoginfo.
- Fixed the maximized windows problem under windows 7.
- Version 3.5.3.1 (3-20 2010)
-
- Improved the drawing efficiency of listctrl.
- Added API SelectItem to dsTreeControl.
- Added over state to eventitem.
- Minor bug fixed
- Version 3.5.1.1 (3-6 2010)
-
- Added event item to extend control WidgetTree.
- Added API dsSkinLayerWindow.
- Added example LayerWindow to show how to use the dsSkinLayerWindow
- Version 3.4.0.1 (2-20 2010)
-
- Updated DSkinLite skin builder tool to v2.0.
- Added extend control widgetTree.
- Version 3.3.1.3 (1-28 2010)
-
- Fixed the tooltips problem under unicode.
- Version 3.3.1.1 (1-23 2010)
-
- Support edit control under read-only,disable state.
- Minor bug fixes
- Version 3.2.9.7 ( 1-3 2010 )
-
- Added support to edit control with password style.
- Fixed the scrollbar problem when adjusting the color.
- Fixed the problem when setting the style of tree item
- Version 3.2.9.6 (12-3 2009)
-
- Added API dsLockState
- Added disable state to Edit control
- Modified the dsAdjustColor API,Adding lightness adjustment.
- Version 3.2.9.2 (11-17 2009)
-
- Added hover state to edit control
- Added relative position to display item
- Added "autosize" attribute to text element
- Fixed the slider control with foreground drawing problem
- Minor bug fixes
- Version 3.2.9 (11-9 2009)
-
- Added Game Demo.
- Added event item to tree control
- Improved the drawing efficiency of tree control item
- Minor bug fixes
- Version 3.2.8
-
- Fixed the combobox downlist splash under window 2000.
- Modified the button drawing method.
- Version 3.2.6
-
- Fixed the list control deleting item problem.
- Fixed the Button hiding itself in click event.
- Fixed the tree control scrollbar problem.
- Version 3.2
-
- Added "default" state to button
- Added drawing focus state feature to button
- Added "EventItem" to listBox
- Added compounding type to state
- Added API dsSetDrawItemVisibleEx2
- Added API dsSetProgressItemRange
- Added API dsSetProgressItemPos
- Added API dsMessageBox
- Added "auto.item" displayitem to edit control
- Improved event item in listctrl, listbox
- Improved the drawing efficiency to dialog.( when the background image changed.)
- Support MessageBox
- Minor bug fixes
- Version 3.0
-
- Support list control item drawing
- Support tree control item drawing
- Support button , static with animation
- Modified the animation definition
- Added API dsSetDrawItemValue
- Added API dsSetDrawItemValueEx
- Added API dsSetDrawItemVisibleEx
- Added API dsSetItemStyle
- Added API dsAddStyleFile
- Added API dsSetAnimateFrame
- Minor bug fixes
- Version 2.3
-
- Added time picker control.
- Added spin button skin of tab control.
- Added inatvie state to dialog type "SKIN_TYPE_DIALOG"
- Modified the anti-aliasing font features, which is defined in xml now.
- Minor bug fixes
- Version 2.2
-
- Added attribute "clientareaborder" for "dialoginfo".
- Added SetHighlight API
- Support loading skin database from resource.( Only Enterprise Version)
- Turned on anti-aliasing of fonts under Window XP.
- Fixed the problem of groupbox when setting the window text.
- Fixed the problem of png with alpha channel.
- Added "checkeddisable" state for radio button and check button.
- Version 2.0
-
- Added API dsDrawImage
- Added API dsSetAnimatePlay
- Added API dsResetAnimate
- Added animation
- Added skindb builder tool.
- Added attributes "width","height" to the tag "property"
- Added window type SKIN_TYPE_DIALOGEX
- Modify the edit attribute definition
- Fixed the transparent problem when the control size changed
- Minor bug fixes
- Version 1.3
-
- Added API dsInvalidateRect
- Added API dsGetClientRect
- Added API SetSelfPaint
- Added API dsInitKeys
- Added attribute "comboboxinfo" for ComboBox
- Added attribute "font" in "menuinfo"
- Added window type SKIN_TYPE_COMMON
- Modify API dsTrackPropupMenu
- Fixed the bug of gradientmode in "rect" element
- Fixed the menu item text error under some languages
- Minor bug fixes
- Version 1.2
-
- Fix the radio button drawing error.
- Fix the control eable/disable problem.
- Fix tooltips disappears after clicking the button under WTL.
- Add inherit attribute to tag "window" in config xml.
- Specify the loading order of the xml files
- Version 1.1
-
- Fix the dialog with menu bug.
- Fix the menu problem under some xp theme modes.
- Add splitbutton(SKIN_TYPE_SPLIT_BUTTON).
- Add RichEdit(SKIN_TYPE_RICHEDIT)
- Add error list.
- Support icon image.
- Support stretching png with alpha channel
- Add dsGetColor API
- Add dsGetBitmap API
- Add dsGetFont API
- Add dsGetIcon API
- Add dsGetFont API
- Add dsAddMenuBar API
- Version 1.0



