In C++, you create a GUI by calling functions made available to you by the operating system. The windows API contains such functions, as do many other operating systems.
It is common to use a library that makes this easier for you; you call the library, the library makes calls on the operating system. Visual Studio provides libraries that can do this for you.
You do not have to use Visual Studio to use that library. You can use the library that comes with Visual Studio without actually using Visual Studio. There are many, many other libraries available that will do the same thing. Here is a partial list:
http://en.wikipedia.org/wiki/List_of_widget_toolkits
Which is the best? There's no such thing. There is only the best choice for your particular requirements on your particular system at your particular moment in time. Work out what your requirements and system are, and then pick the best tool for the job.
What is your favorite program (IDE) to create GUI programs? |
I don't use an IDE. I write my code in a text editor. You do not
need to use an IDE to make a GUI. You only need to call the functions correctly, just like any other function. Many people
do use IDEs, for good reasons, but it's not compulsory.
Some IDEs come with clever tools to assist in making GUIs. Like all tools, there are advantages and disadvantages and you should look over the range of tools before picking one.