DirectUI is a gui library to make win32 gui development more easy, It has the similar principle with the Microsoft "DirectUIHWND", which is used in Window xp file system ( left panel) , MSN Messager,Media Player or other products. If you use the spy++ tool to search the window, you will find a window class named "DirectUIHWND". The name of this library comes from the window class "DirectUIHWND". It means that drawing the child controls on parent window directly.
Traditionally, Windows applications are built upon the GDI/User windowing hierarchy, and thus restricted in several areas, While you can certainly generate a nice application quickly with the win32 control-set and get a standard clean look, you will soon find the limitations of the windows controls - especially if you want to build something that looks a little more flashy. The native Win32 custom-draw/Owner-draw technique is limited, next to support for transparent windows, rigid control scaling/resizing.
The DirectUI doesn't make use of the native Win32 controls except some complicated control such as edit, listctrl. Instead,It draws controls and widgets on the screen, this kind of interface is now new: "Skinning" has been widely accepted for its cool look and feel, as seen in Microsoft Msn and Media Player. This type of DirectUI is usually more suitable for small application hosting a limited number of dialogs. In fact, you can integrate the directui and native win32 controls in your application. For example, msn uses the type of directui to build its fancy main panel and uses the native win32 controls to build its Options dialog.
DirectUI gui library is more like a subset of firefox xul , adobe flex , or microsoft wpf, but is runs on win32 platform. It has the following features:
1. DirectUI uses xml to lay out the controls of dialog, and uses script, jscript, lua to provide flow control and object manipulation features that are not available in xml.
2. DiectUI defines stylelike css to describe the look and feel of the application, so it is flexible. You can load style sheets or change the appearance of controls at the run time.
3. It has high drawing efficiency.
4. DirectUI can implement some fancy effects very easy, such as transparency, animate.
5. DirectUI separates the ui and program logic. You can deal with the UI logic related by using xml and script.
6. You can build a nice application quickly with DirectUI.
7. The Directui bases on win 32 APIs, the so it doesn't depend on any framework.
8. The adjustment of the hue and saturation. You can adjust colour scheme smoothly.
9. Support change skin at runtime, you can also use different style at runtime.
10. Support Unicode.
Version 1.0(2 December 2008 First Release)