DSkinLite Tip of the Day #1–How to skin the dialog

In window gui programming, the skin of dialog is the main problem. It is difficult to resolve the problem to a newer. Because Win32 doesn’t provide a method to skin all parting of the dialog. We should consider the system menu, maximize, minimise box, border and the client area, and we need to deal with all the messages which will cause the redraw of dialog.

There are two methods to skin the dialog, one is removing the WS_CAPTION style of dialog, and the other doesn’t do such operation. There are two reasons to remove the WS_CAPTION style, first this can make the dialog skinning simple and more efficient, second you can move the child control to the caption area. In dskinlite, the SKIN_TYPE_DIALOG uses this mode, and we recommend you use this mode if it is enough to you.  In this mode all of the area is client area, so you just can get a “virtual” client area which used to contain the child controls. As you can set the caption height, top edge of client area  value.  So you need to use the dsGetClientRect api to get the correct “virtual” client area.

The other method will retain the WS_CAPTION style, in the mode, dialog’s style will not be changed. So you can use the GetClientRect to get the correct client region. In dskinlite, SKIN_TYPE_DIALOGEX uses this mode. If you want to make no change to your dialog after calling dsSkinWindow. You can use this mode.

DSkinLite V2.0 Released

Download DSkinLite V2.0

UIEASY Team is pleased to announce the availability of DSkinLite V2.0,  This version has the following modifications and new features:

  • 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
In: DSkinLiteAuthor: adminComments (0)

DSkinLite new features in action: Animated gif control

Download Animate Demo

The next version of dskinlite will support animate, you can use animated gif or several images(bitmap or png ) to show a animate. The following is a xml description of animation.

<window name="msn_logining" type="">
<property bkcolor="#system_bg" btransparentbk="true" />
<animateinfo  width="48"  nframecount="32" height="36" delaytime="50" />
<image picfile="#animate.msn.logining"/>
</window>

The animation support transparent feature.

In: DSkinLiteAuthor: adminComments (0)

DSkinLite V1.3 Released

Download DSkinLite V1.3

UIEASY Team is pleased to announce the availability of DSkinLite V1.3,  This version has the following modifications and new features:

  • 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
In: DSkinLiteAuthor: adminComments (0)

DSkinLite V1.2 Released

Download DSkinLite V1.2

UIEASY Team is pleased to announce the availability of DSkinLite V1.2,  This version has the following modifications and new features:

  • 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
In: DSkinLiteAuthor: adminComments (0)

DirectUI GUI Library V1.0 Rleased

UIEASY Team is pleased to announce the availability of  DirectUI Gui Library Version 1.0.
Download DirectUI Gui Library V 1.0

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. read more…

In: DirectUIAuthor: adminComments (0)