Very little GUI stuff is written in plain C these days--even though all of Windows application programming was to be done in C for the first decade or so. An object-oriented framework helps make GUI coding less tedious. Even better is an IDE, or Integrated Development Environment, with graphical tools to help you develop your GUI code components.
Microsoft's Visual Studio .NET is an IDE supporting GUI programming in VB, C++, C# and a Java-variant called J#. You can get free single-language mini versions of these, called Visual Studio Express Editions.
Sun's NetBeans IDE is free, period. You can develop in Java, C++, Python, Ruby and other languages, but only Java seems to be well supported for integrated GUI development so far.
My suggestion for a next language to get some GUI experience would be Java using NetBeans 6.5 or later, but there are many ways to go from here. In no particular order, these include:
C++ was developed as a type-safe extension to C++, adding object to accomplish this. As such, most C code will compile under C++ with few modifications. By the time the language hit the standards committee, though, the set of extensions was larger than the original language. Still, a C programmer will usually pick up basic C++ faster than other object languages, and good free compilers have been around since the inception of the language.
As far as the languages go, if you want to run on multiple platforms (Win, Mac, Linux), Java and NetBeans is the way to go. Java is an object-oriented language based upon C, but built new-from-the-ground-up to avoid some of the pitfalls of C programming. Java has it's own set of quirks, but a smaller set (IMHO) than C++. The Java Library includes a ton of well-documented classes for GUI, Graphics, Networking, etc. Pretty much anything except hardware intensive gaming applications.
C# is Microsoft's ripoff of Java. It was designed as a alternative to Java to be used on Microsoft's .NET platform, which was in turn a ripoff of the Java libraries. There is a supported free compiler and they seem to have avoided some of Java's quirks, but it is a language that locks you in to Microsoft. One area where C# in essential is in game development for Xbox and Windows portability. C# is the language of choice (the only one?) for use with XNA Game Studio IDE.
J# is even more of a ripoff. It's not Java, not C# and Microsoft-specific.
VB is old. It was based on an even older language, BASIC, that was old when Bill Gates made name for himself by making a BASIC interpreter for the Intel 8080 processor running CP/M. It has object-oriented extensions, but is not really object-oriented. It's very easy to whip up simple GUI applications, though, and it's probably nicer to use VB.NET than the older VB that I've used.
Python is a nice language for prototyping, and you can do some more-or-less platform-independent GUI programming with the tk/tkinter package that comes standard. There are other GUI options too, but tk/tkinter is the best documented. It's an interpreted language, which makes for a very flexible runtime environment, and tends to be a better scripting language or prototyping language than a robust application development tool. I haven't seen any free IDE tools other than NetBeans, maybe Eclipse, but I don't think either supports interactive graphical GUI development. Python was the language I chose to write my Sudoku solver in, with a little GUI for puzzle display and entry.
PHP is really only used for serving web pages, generating them or customizing them on the fly, and implementing the server side of a web application. It runs mostly on Apache servers and competes with ASP.NET on Microsoft servers. I only mention it because you did.