Question

I have seen some cool applications with great looking skins. I'm new to MFC and I want to create an application with the capability of changing skins. How is it done in MFC? I've checked some tutorials but are a bit outdated. Thanks...

Was it helpful?

Solution

MFC in general is outdated, but you probably already know this. If you are willing to pay up, there seems to be a vendor that provides skinning component. See BCGSoft.

alt text

An alternative maybe to look for other platform such as Mozilla's XULRunner framework, which Songbird (Developer Center) is based on. See Appearance Add-on and The Joy of XUL.

alt text http://addons.songbirdnest.com/addon-images/1345/Screenshot-darksuper_thumbnail.png?1218294592

alt text http://addons.songbirdnest.com/addon-images/197/zrzutekranu-Blank_page_-_Songbird_thumbnail.png?1211917007

OTHER TIPS

Just a note. The concept of UI skinning is a general software design task (basically a plugin concept) and is not (to my knowledge) explicitly supported as a service by any language or framework like MFC. I.e. there's no "MFC-way" of doing skins, and no ".NET-way" either. But you can use either of these to design skinning support.

That said, some languages or frameworks might make it easier to implement skinning support than others. I would generally recommend C#/.NET for UI coding, but large portions of designing plugin/skin support is about general code mechanisms and interfaces, and there the question of language/framework is rather moot. There are also ready frameworks for many languages that does this for you, if you're not interested in the exercise of writing it yourself.

Some links that could be useful:

Plugin concept (note the list of plugin frameworks for some languages at the bottom)

Facade design pattern

Mediator design pattern

General info about skins

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top