Advice needed(GUI programming)

Hi i am looking for guidance on where to start GUI programming,I have been programming for a couple of years and I know all the foundations of c++. I want to start making my own interfaces and as well start making my own games the only problem is I have no idea where to start.

What I am looking for are suggestions on tutorials or any general advice on compilers, libraries, anything that can help point me in the right direction

Thanks in advance!
well, when it comes to c++ and GUI you have 4 major posibilities.
Microsoft Fundation Classes(MFC), it's the father of the .net
Wxwidgets framework(based on MFC, but with some minor diferences).
QT(developed by Nokia i think, used a lot in linux systems and mobile Os's
and Windows API(witch is the hardest imo but the most powerfull).
For MFC you can either go to the microsoft site(you can start from here - it's a tutorial for beginners ), and you will find what ever you wish. Or you could get a book ( )
For WxWidgets there the wxWidghets book or there documentation. When you download the librari(that you have to copile) you receive some samples that are really usefull as well.
For QT i haven't workd with it at all. You can find a lot of usefull things on the net though.
And as for Windows Api, some tutorials might get you started, but a book is your best bet. And one of the best is . Don't bother with the fact that the book was writen back in 98' The windows Api has changed very little from then. 90% of what you read in that book should work on windows 7 and probably even 8.
QT(developed by Nokia i think...

Qt (they use a small t and pronounce it as "cute") was originally developer by Trolltech who were bought by Nokia in 2008. Nokia have since sold the commercial rights to Digia, in 2011.

The other popular cross platform GUI toolkit is FLTK:

The GUIs this produce are not as pretty as Qt or wxWidgets, but they are lighter weight. This makes FLTK popular with writers of utility apps (who don't care about looks) and games (who do so much custom drawing that the look of standard widgets is irrelevent).

If you're interested, the entries for the different toolkits list some the projects who use it, so you can get an idea of what they can do:

- wxWidgets : Audacity, BitTorrent, Code::Blocks, CodeLite, ...
- Qt : Autodesk Maya, Mathematica, Skype, VirtualBox, VLC media player, ...
- FLTK : Dillo. Open Movie Editor. Amnesia: The Dark Descent, ...

Note that MFC does not come with the express editions of Visual Studio. But a slightly outdated version is part of the WDK (Windows Driver Kit -- the new name for the Device Driver Kit, or DDK). Of course, you will not have all the wizards to help you with your code, so you'll have to do everything yourself.

How to compile MFC code in Visual C++ Express

And there is another Microsoft specific possibility: the Windows Teplate Library (WTL):

This is built on top of ATL (the Active Template Library) which, like MFC, does not come with the express edition, but an earlier version is available in the WDK. It is lighter weight than MFC, and a good fit for smaller scale application. See this turtorial for more information:

Using the Windows Template Library Part 1: Getting Started

Last edited on
That is a lot to look over but thank you!I will look into each and see which caters best to what I am trying to achieve. I have started looking at OpenGL and I am currently working through the tutorial (, It seems to be all windows programming but I think I am going to go with windows programming and buy that book! :)
To quote Mohammad Elsheimy...

Charles Petzold, u r the God of programming

Community review at: Programming Windows
Last edited on
Topic archived. No new replies allowed.