tags:

views:

477

answers:

9

I see many user interface control libraries for .NET, but where can I get similar stuff for win32 using simply C/C++?

Things like prettier buttons, dials, listviews, graphs, etc.

Seems every Win32 programmers' right of passage is to end up writing his own collection. :/

Thanks,

Sebastian

A: 

I you don't mind using the MFC libraries you should try the [link text]Visual C++ 2008 Feature Pack[1]

ggponti
A: 

Stingray

CodeJock

Phil Wright
A: 

The Code Project has lots of UI controls for C/C++

Most of them are focussed on MFC or WTL but there are some that are pure Win32.

As an aside if you're not using a framework, you really should consider WTL over pure Win32. It's low overhead and about a million times more productive.

Gareth Simpson
A: 

The MFC feature pack is derived from BCGSoft components.

jmatthias
A: 

Using winAPI's you can do almost anything you want and really fast too. It takes some time to figure it out but it works. Go to MSDN, lookup MessageBox(), check out DialogBox() and go from there.

I personally do not care for MFC by the way. If you want to use an MFC like approach I'd recommend Borland's C++ Builder. Pretty old but still very usefull I think.

Mark D
A: 

No MFC controls please. I only do pure C/C++. And with that said, I also don't feel like adding a multi-megabyte framework to my application just so that I can have a prettier button.

Sebastian Dwornik
If you don't want to use MFC because of its runtime size, you almost certainly don't want QT either (recommended by the current accepted answer). If you're going the framework route, WTL is template based and very low overhead.
Gareth Simpson
+1  A: 

I've used Trolltech's Qt framework in the past and had great success with it: In addition, it's also cross-platform, so in theory you can target Win, Mac, & Linux (provided you don't do anything platform-specific in the rest of your code, of course ;) )

Edit: I notice that you're targeting Windows Mobile; that definitely adds to Qt's strength, as its cross-platform support extends to WinCE and Embedded Linux as well.

Ryan Corradini
+1  A: 

For prettier buttons, etc., if you aren't already doing it, embed an application manifest so that your program is linked to version 6 of the common controls library. Doing so will get you the Windows XP- or Vista-styled versions of the standard Windows controls.

If you want types of controls beyond what Windows offers natively, you'll likely have to either write it yourself or be more specific about what kind of control you are looking for.

Matthew Xavier
I just did this to pretty up a Visual C++ 6 application. Worked fine with the manifest in the same directory. To get it compiled in via the resource.rc file I had to add:1 24 "YourApplication.exe.manifest"Because CREATEPROCESS_MANIFEST_RESOURCE_ID == 1 and RT_MANIFEST == 24
George Phillips
A: 

I apologize for leaving out one tiny detail, and that is that my development is for Windows Mobile.

So manifest files are out.

I just notice how many developer companies have gone crazy with making pretty looking .NET components and wondered where the equivalent C/C++ Win32 components have gone?

I read about how many people ended up writing their own gradient button class, etc. So you would think that there would be some commercial classes for this stuff. It's just weird.

I'll take a closer look at QT and investigate its GUI support for such things. This is the challenge when you're the one man in your own uISV. No other developers to help you "get things done".

Sebastian Dwornik