In C++ puoi creare tutte le interfacce che vuoi, devi solo scegliere come.
Partendo dalla creazione da codice delle varie finestre, utilizzando in WinApi o utilizzando le MFC. Naturalmente è da psicopatici pensare di scrivere una interfaccia utente (se non proprio molto semplice) tutta da codice. Devi quindi sfruttare un editor (i classici editor WISIWIG - What You See Is What You Get - ad esempio quello di Visual Studio). Puoi utilizzare Visual Studio Express Edition che è gratuito. Altrimenti non ricordo se Code::Blocks ha un suo editor, e comunque penso sia ormai obsoleto (ma se sbaglio non mi menate).
Ora come ora poi c'è il .NET e quindi le WinForms sfruttando le classi del framework. In pratica l'interfaccia si costruisce da sola. Ti consiglio caldamente di orientarti su questo, se devi sviluppare per Windows. Meglio ancora, se non sei già esperto di C++ (e dalla domanda che poni credo proprio di no) ti consiglio MOLTO caldamente di orientarti, per sviluppare programmi ad interfaccia utente che non siano strettamente correlati alle performance, di puntare al C# che è molto più semplice da imparare, potente al punto giusto, e integrato in Visual Studio ti crei un'interfaccia utente veramente in poco tempo. Naturalmente sempre in base alle tue capacità.
Per C# se non vuoi utilizzare Visual Studio esiste Sharp Develop, open source. Naturalmente se cerchi su internet trovi anche molto altro.
Visual C++ 2010 Express Edition
http://www.microsoft.com/visualstudio/en...pp-express
Code Blocks
http://www.codeblocks.org/
Sharp Develop
http://www.icsharpcode.net/opensource/sd/
Ora dovresti porti delle domande:
1 - Per che ambiente devo sviluppare?
2 - La mia applicazione deve essere ottimizzata al massimo e altamente performante? Un gioco? Un'applicazione multimediale?
3 - Quanto tempo e voglio ho di imparare un linguaggio potente sì, ma anche complesso da padroneggiare?
Se devi creare solamente un programma con interfaccia utente e niente grafica, vai spedito sul C# (sempre se per Windows naturalmente, anche se in realtà c'è un porting del .NET anche su Linux e MacOS e Android con il progetto Mono). Il fatto che anche quelli del pinguino abbiamo pensato a implementare .NET ti fa capire quando esso sia valido.
http://www.mono-project.com/Main_Page
Inoltre anche con C# potresti sviluppare giochi utilizzando XNA o altri.
Poi se vuoi per forza utilizzare il C++ perché hai intenzione di studiarlo, naturalmente hai tutto il mio incoraggiamento. Il C++ è un linguaggio splendido, che io ho amato e utilizzato a fondo, ma che onestamente oggi come oggi a livello professionale non consiglierei per determinati tipi di applicazioni per la sua poca manutenibilità, la difficoltà di apprendimento per i nuovi sviluppatori, e la minor velocità nello sviluppo. Naturalmente ci sono i pro: pieno controllo, performance al massimo.
Ciao!