Different aspects of C++

I am learning C++ now and have wondered what I need to learn or do to get my programs to operate outside of the console realm, and in GUI windows (a windows program like word or calculator?) and games, (like...farmville, simple windows games?)

What do I need to learn and what programs will I need? I'm using MSVC++.
SFML is a good place to start for window managers and learning OpenGL.

The Win32 API will teach you the basics of Win32 controls (buttons, text boxes, etc). You'll learn great theory on how the OS, and window messages work, but to actually program something useful is a pain. Do this, but then move on after making 1 or two programs.
http://www.winprog.org/tutorial/ <-- Great tutorial!

If you want to start getting fancy fast, Qt is my favorite. There are built-in tutorials if you install the free (and good) IDE. It's also platform independant :)

I haven't really managed to pick it up, but MFC is a nice C++ wrapper for the Win32 API and makes design quite a bit easier. It's similar to Qt in that it helps you to create your classes, but it's platform dependent and I found it to be a little more difficult to work with.
Here's a good tutorial I went through (but I didn't dedicate the mind power to really pick it up).
Last edited on
I will focus my efforts on learning the last bit of basic C++ syntax and functionality, then I will take a leap into forward with the information you have provided here. I want to make sure I do this right so I don't know too little before I progress, thus making the experience less painful and more enjoyable. I wanna get this one right. Thank you for the suggestions, I will be sure to get to them.
Last edited on
There will always be more "last bit of basic C++ syntax and functionality". The details, especially templated code, isn't really required for getting into GUIs. This is especially true for Win32 which is done in C. To GUI stuff is less about syntax/semantics specific to a language, and more about the thought that goes into interfacing with the OS.

When I started learning that stuff, Win32 taught me the mindset of event-based programming, SFML really helped me to understand the use of C++ and the conceptual (not just syntax) differences between it and C. Qt taught me the power of inheritance and taught me how to code with reference to documentation and not in reference to headers.

You don't need to choose between learning programming and learning GUIs. GUIs will accelerate your learning of programming on their own.
I'll dive in then, thanks for your insight.
This looks confusing. I've downloaded Qt 4.8 libraries for win binary w/ mingw (although I have visual studio 2012, I don't know which one I should download, there is a qt lib for vs2010 as well, but exactly what does this mean?) - and downloaded qt creator. Now what? Do I install them in order, i have to set environmental variables in windows? ....

EDIT* - nevermind I was sick yesterday. Half arse attempt.
Last edited on
Qt 5.1 with MinGW comes with Qt Creator the free IDE, MinGW compiler, as well as the Qt libraries. The interface of Qt Creator looks clean and it offers VERY well documentation, examples, and tutorials. If you're looking for the download, it is here: http://qt-project.org/downloads

I've found Visual Studio Pro 2012 to be great at debugging and making reasonably small sized executable files. However it is a bit of a resource hog and extremely large. I might just use Qt Creator to proceed from here. Thanks for the suggestions, I'm simply enamored with the concept of designing cross-platform applications with GUI interfaces. I know that enthusiasm won't be around when I'm up at 2AM trying to get Win32 API to work with char instead of wchar_t type.

So Qt Creator can replace my current C++ development IDE (Visual Studio)?
Last edited on
Yes, it can completely replace VS!
Topic archived. No new replies allowed.