Although I've never done any GUI programming myself, I know you won't be using ActiveX, that's more associated with web programming and COM. You're probably thinking of DirectX but even then that's probably not what you want to use for making a GUI. DirectX is like OpenGL in that it's basically a library for making 3d things. I think the easiest way to make a GUI program is to get a copy of Visual C++ and design it with that because then you can just paint what you want and it gets made.

I'm assuming you're in Windows. You can either learn to code it all by hand (the link crotchfruit posted), or you can pick up Borland C++ Builder or Visual C++ and it'll code the GUI for you, you just have to add the workings of the program.

If you're on Unix/Linux, there are a bunch of different options (GTK, QT, etcetera).

wow. lots of mfc bashing. look, i'm not an mfc-fundamentalist, but it's really not that bad. just because the apps *you* write aren't suited for the mfc framework doesn't mean that it's "terrible". obviously mfc is not meant for high fps 3d gaming... it's meant for small business apps and other misc tools; anything where you want to spend more resources on functionality then UI development.

i have to write tons of small test apps for my company, to be used by the computer-illiterate technicians. mfc is the best way to keep programs "user-friendly" with the same look and feel that they're used to. mfc offers the lowest development-time-per-functionality-and-user-acceptance for test tools on any platform i've encountered so far. plus, my boss (another computer illiterate) will come over and drool/orgasm over how fast i can make 'windows-looking applications'.. for all he knows i had to code *everything* from scratch.

it's also very flexible if you know how to use it. codeproject.com has libraries full of custom controls that add great functionality to a program with almost zero dev time.

and what's this about people needing special libs to run an mfc program? a mfc prog built with visual studio 6.0 can run on anything from win98 to winxp w/o additional dlls.

anyways, mfc isn't the end-all platform, but it's good for what it's meant to do.