Larkware

We get up early so that you don't have to.

Review: DirectSkin 4.5

DirectSkin 4.5, starting at $499
Stardock Corporation
http://www.stardock.com/products/directskin/

DirectSkin is a single ActiveX control with a simple purpose: it brings skinning to your applications. That is, you drop the control on your form and it is not itself visible. Rather, it enables your application to make use of Stardock's skinning technology, developed for its own WindowBlinds application. Your end users can then select from a variety of "skins" (which you need to provide) to change the look and feel of your application. Thus, you're not tied to the standard Windows widgets and colors; with enough artistic creativity, your application can look like it's made from wood, burnished metal, burnt toast, or rotting fruit.

The control is pretty well trivial to use. The 80% use case is just to drop it on the form and initialize it:

Wbocx1.LoadUIS "MacPC\MacPC.uis"
Wbocx1.InitWB
Wbocx1.DoWindow Form1.hWnd

That much code and you're off to the races. There are a lot more methods available on the control for finer-grained work, though. You can, for example, exclude certain regions of your application from skinning, or, conversely, paint specific parts of the skin on to specific device contexts. You can load secondary skins and use them in specific chunks of the application. You can turn skinning on and off, show skin previews to the user, and generally make skinning a pleasant and seamless experience. DirectSkin works with VB6, with .NET WinForms (this version was specifically tuned for use with .NET), with Delphi, and with MFC, among other environments. Skinning covers all the standard controls, as well as menus, toolbars, resize grips, scrollbar pieces, title bars and their buttons, and a host of other things.

The pricing model depends on your usage. $499 gets you a developer license, which lets you work with it in your application and figure out how to implement DirectSkin but not distribute the resulting bits. When you're ready to ship, you can apply that $499 to either the $999 Basic License (which allows you to distribute 1,000 units) or the $9,000 Corporate License (which allows you to distribute an unlimited number of copies). The cost of the Basic License can be rolled into the Corporate License cost if you exceed 1,000 units. Stardock will design custom skins for you (for custom pricing), or sell you the $299 SkinStudio Developers Edition so you can do it yourself.

Skinning clearly isn't for every application. In many cases, you're better off sticking with the Windows standards for ease of training and user comfort. But in any sort of multimedia or other "flashy" application these days, users have come to expect this sort of control. If you do feel a need to implement skinning, you ought to take a look at DirectSkin; it's been very widely deployed and tested, and this is precisely the sort of thing that you ought to buy instead of trying to build for yourself. You really don't want to spend the next six months fiddling around in Windows graphics internals only to come up with a solution that doesn't cover all the bases, now do you?

  Click for larger screenshot

Mike Gunderloy is the lead developer for Larkware and author of numerous books and articles on programming topics.