I'd like to use native Windows GUI components (windows, buttons, text boxes, menu bars, etc.) to create a GUI for an application, but I don't want the application to be purely a Win32 application. From what I've read, some people suggest MFC, but I was curious on what people here thought.
I'm actually writing bits and pieces as an API, so I'd like to avoid as many dependencies as possible. Ideally, I'd like to be able to compile a library I can move between different Windows machines, opening up Visual C++ Express, create a project and set up linking, and start coding. Is this possible with MFC? Is there something else Windows native that would be better suited for this task?
Also, this API may be used to develop commercial software, so I need to avoid licensing that restricts that.
If you're writing something for Windows, you'll pretty much need to go with Win32. MFC is a wrapper of Win32 which makes things a little easier to work with. I don't think it is available in Visual Express.
Another wrapper is Qt. This one is quite high-level but it's certainly worth checking out and running the tutorials from Nokia's site. There are many many many professional applications developed with Qt.
@modoran You may link statically for Qt for non-commercial version, but you have to recompile the whole library yourself, which takes relatively long time. (it's Qt, not QT, btw).
Qt is the best choice for you. It uses native C++, and it's relatively easy to learn through its examples.