I was recently wondering about creating programs that use custom skins however I don't know where to start with this. Mainly I need to know if each part of a UI needs its own bitmap and how to set that in the program. I am using Visual Studio 2008 and I am willing to work in Windows Forms or MFC dialog. I could maybe try a more normal from of MFC but I would prefer not to if I don't have to. Any help would be very much appreciated!
It depends a lot on how far you want to go with the skins. If you're talking about fully customizable button positioning and whatnot (Winamp is a good example), then you pretty much can't use any normal widget toolkit and have to do everything manually. You basically have a window with not titlebar, border, or anything, and draw everything yourself. You can mouse clicks and determine what to do with them based on where they are in the window.
If you don't want to go that extreme, you might be able to use normal forms/dialogs/widgetry and just draw the controls your own way. Win32 has a way to make controls "owner drawn" which lets you make them look however you want, but it still handles the basic functionality underneath (like tab traversal and mouse clicking and stuff)
Or... there might be a widget library out there somewhere that already does this stuff so you don't have to reinvent the wheel. I don't know of any -- but I never actually tried looking (I personally hate skinned programs)
I am definitely looking more at the second example. I tried the first in pascal for my schools programming class and I got it to work but I don't think it was anywhere near as efficient as it could have been. I am still pretty new at programming. You've helped a lot now I know a little more as to where to look. Thanks.