tags:

views:

233

answers:

8

Hi! I was wondering is there an Microsoft alternative to MFC, except WinForms in GUI programming for Windows operating system ?

I dont want to use thirdparty (Borland/Qt/wxWindows) libraries. WinForms require .NET which is major problem (can't install .NET in destination machines) and MFC is traumatic to me...

Any alternative which would be close to Qt but Microsoft branded ?

I would appreciate any suggestions!

+9  A: 

Try WTL. This library was originally created by Microsoft and then went open source. On the contrary with MFC, many developers report good experiences with it. It builds lighter executables, it is better structured than MFC, but also not so feature rich.

kgiannakakis
+2  A: 

I don't think there's any. You can use pure WinAPI, ATL, WTL (in this case good luck!).

Why don't you want to use Qt? Its free, open source and very flexible tool.

Sorantis
Why - client request for MS only technology/libs and resources
CombineSlave
A: 

There is not any. Do not waste your time for searching.

Alex James
Manuel
I think this is a good response - there is really no MS library other than MFC which would be "close to Qt". WTL is great, but it is not an application framework like Qt or MFC.
Nemanja Trifunovic
I agree - WTL is not an app framework and the lack of decent docs makes the learning curve very steep.
Rob
-1 because this is not helpful.
Jon B
+1  A: 

Any alternative which would be close to Qt but Microsoft branded

If by "close to Qt" you mean similar in design to Qt, then no - there is not. I use WTL and like it, but it is very different from Qt.

Nemanja Trifunovic
+1  A: 

Although I love it and have used it extensively, WTL is quite an effort to learn as the documentation isn't great. There are some great 'WTL for MFC Programmers' articles on Code Project which are an absolute must-read.

However, if you want something Qt-like from MS, then you're only left with MFC I'm afraid. OK, it's long in the tooth but with the addition of the VS2008 SP1 MFC Feature Pack you can create Office 2007-like apps complete with ribbons. This might be your best solution if only MS non-.NET tech is allowed.

Rob
+8  A: 

I too suggest WTL. Here is a list with some useful WTL links:

WTL opensource applications, which one can study to see various implementation tricks:

  • Google's Chromium, source code here. The windows version uses WTL. I don't know if somebody has tried to extract the WTL framework from Chromium.
  • Programmer's Notepad uses WTL, source code here.
  • InfraRecorder uses WTL, source code here.
Cristian Adam
A: 

You could always go with the Windows API directly and bypass MFC.

Thomas Matthews
Ewwww. We've got one program here that uses the straight Win32 API, and I'm the primary maintainer. I'd like to know what the API designers were smoking, and where I can get some.
David Thornley
A: 

I don't get it. If it isn't Win32 or MFC or Windows.Forms, then what you are looking for is by definition 3rd party.

All these people recommending WTL are recommending you download some third party project's toolkit and use it. That's fine, if that's what you are looking for. But if you do that, then I strongly suggest looking at Qt or wxWidget. The former for the most full-featured set you can get and the latter for drawing native widgets using a "more sane" API.

Aside: WTL may be downloadable from MS server, but its a far, far cry from a MS-supported technology. It is an unsupported add-on.

Shaun
Still, WTL can be presented to his customers as a "MS technology". It was originally developed by MS, and is being used within MS, and also Google, VMWare and other big software companies.
Nemanja Trifunovic
That's actually incorrect. It was developed by Nenad Stefanovic, who was a Microsoft employee at the time. It was never a "Microsoft technology" though. People often assume that if something is released by a MS team on MS Servers then that means that its an official MS-supported technology. It isn't. And in many companies where MS only counts, the distinction is a very important one.
Shaun
I am not saying it is supported by MS, but it was ceirtanly not a Nenad's free-time project, but a Microsoft product. It was first released as a part of Microsoft's SDK, and it was Microsoft that released it under an open-source license (crafted by Microsoft's lawyers).
Nemanja Trifunovic