This is my first posting, so I'm hoping I've put it in the correct forum.
I have some experience making GUIs using MFC, but when you do that, all your applications have a distinctive, rather boring look and feel. Then I look at applications such as RealPlayer that look much fancier, and I'm wondering how they do that. The controls are all equivalent to those present in MFC (eg., buttons, menus, scroll-bars, etc), but their appearance is customized. I think some applications call this a "skin".
I've been assigned to create a user interface for a new product, and I wanted to do some of this custom skinning. Is this something that can be done with MFC? Is there some other package that I should use? I have seen enough GUIs like this that I know there must be a standard, accepted way of doing it.
As an aside, I currently have Visual C++ 6. I am planning to buy Visual Studio 2010 (however, if there's a way to make my GUI with the old software, I'd welcome that- Visual Studio is so expensive!). Maybe my problem is simply that my software is too old. Please let me know.
I just looked up about WPF, and it does seem to do the stuff I need.
I have just one more question- I am concerned about the performance penalty that the .Net VM might have on my code. In your experience, how much does it slow down? Would I be able to write my UI using the .Net Framework, but still use native C++ for my program's underlying engine?
If there's a way to do it, I can figure it out, but I'd like to know whether it's possible before I start, so that I don't waste a lot of time going down the wrong path.
Would I be able to write my UI using the .Net Framework, but still use native C++ for my program's underlying engine?
You might want to write a couple of test apps to determine if it's really necessary or if writing a portion of the app in native C++ would be any improvement. I doubt it will and would focus on learning to write proper C# code. Like C++ (or assembly), you can write slow code in C#, but like the other two languages you can also write fast, efficient code.