starting at $499
"Skinnable" applications are increasing in popularity all the time. If
you've been living in a cave, this refers to applications that let the
user (rather than Windows) be in control of things like the appearance
of title bars, buttons, scrollbars, and so on. Even Microsoft has gotten
into the act, with Windows Media Player being skinnable. Although some
horrid user interface crimes have been perpetuated through skinning,
there's a good deal to be said for allowing the end user to perform such
DirectSkin gives you a custom control (OCX) to handle the grunt work of
skinning your application. You can use the control in any environment
that supports COM controls (including .NET; it works fine via interop).
Once you've added the control to your project, it takes 4 lines of code
to initialize, and then 2 lines if you want to change skins later. Of
course, you aren't forced to allow the user to change skins; you can use
DirectSkin as just a way to get a custom look for your own application.
DirectSkin supports skinning most parts of the user interface (though
inevitably there will be some things that it can't affect, such as
controls built with some of the more obscure windowing toolkits). It
uses the WindowBlinds format for its skins, which gives you
compatibility with a large variety of downloadable skins. It's designed
to work across all 32-bit Windows versions except for Terminal Services
(where you probably don't want to be using up bandwidth on funky
In addition to the simple code to set up a skin, there are a batch of
other methods available from the OCX. You can decide whether to skin
message boxes, use secondary skins for parts of the application (up to
64 simultaneous skins are supported), skin a particular control, add
additional threads to hook, and more.
Overall, the technology seems to work well, and it gives you a way to
make your applications look "modern" before Longhorn comes out. You can
download a demo, or read the
details of their redistribution license options, at the Stardock Web
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.