views:

130

answers:

4

I'm looking into creating a GUI program for Windows in C++, I have a good knowledge of C++ in the command line and also in game creation. But I'm not sure where to start with GUI application development.

I have Visual Studio 2010 and have created new projects with a GUI but these templates are complex and leaves me not understanding whats happening and how to modify it.

So I'm asking where do I start? Preferably good websites that you can recommend or tutorials, rather than books being a poor student :)

+2  A: 

some help :
GUI Library - Bring The Simplicity of Windows Forms to Native Apps
theForger's Win32 API Programming Tutorial
How to create a resizeable dialog box with scroll bars in Visual C++

More one tip to find useful information, search for this strings at google :
"site:support.microsoft.com/kb/ dialog based C++",
"site:support.microsoft.com/kb/ modal C++", or
"site:support.microsoft.com/kb/ scroll bars C++"

Good luck

lsalamon
+2  A: 

Having written Windows code since Win2.0, I have to say: start with C#. It's a very easy language to learn after C++, and many of the new features (like built-in event handling) were put there to make writing GUI applications easier.

Then, once you're used to the basic concepts of window management and messaging, then drop down into C++.

I say this for the same reason that assembly is not a good first language. There is an enormous amount of housekeeping code in a Windows application, and in C++ you see it all. Better to use a language that hides much of it until you're grounded.

egrunin
Why the downvote? He asked how to approach C++ Windows programming, I said via C#.
egrunin
+4  A: 

I'd personally recommend using Qt instead to develop your GUI.

Chris Kaminski
Can't agree any more! Why restrict yourself to windows. Someday you'll want to port to an other plateform. And even if it was a win only lib, the tools and documentation are so great that I still would recommend it ;)
Tristram Gräbener
Can you do glass effects in windows with this?
Chris
You can do any native effects you wish, because Qt gives you access to the native window mechanisms, but there's nothing currently built into the library to support it.
Chris Kaminski
+1  A: 

Use a GUI framework/library that hides the dirt from the low-level GUI api. MFC is not a solution - it is only a thin layer above the WinAPI. I recommend using QT or wxWidgets. If you use Qt use the Qt creator/Qt designer to design interfaces. If you use wxWidgets use wxFormBuilder.

Iulian Şerbănoiu