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 product. 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.
-
Configure the look and feel of controls using xml
- Use xml to layout the controls of dialog
- Use script(vbscript, jscript) to provide flow control and object manipulation
- Use xml to define style sheets of controls.
- The xml syntax is simple, easy to learn.
-
The other key features
- Base on win32 APIs, so it doesn't depend on any framework.
- Support changing color.
- Support lots of image formats, such as png, bitmap, gif, ico.
- Support run-time skin change.
- Support nonrectangular, dynamically resizable windows.
- Adjustment of the hue and saturation. You can adjust colour scheme smoothly.
- Support Unicode.