Sign in to follow this  
jacknbiecdr

[Question] Creating a windows application in c++?

Recommended Posts

Nope. Try Qt or wxWidgets. wink.png

 

Win32 will certainly work, but it'll be alot of pain. Whatever you do, there'll be a learning curve, but IMO, Win32 is so low level that it's more of a learning wall than a curve.

Qt and wxWidgets are at a higher level of abstraction that makes it easier to get things up and running, while still retaining the same flexibility and power, with the added benefit of being cross-platform to Windows, Macintosh, and Linux.

 

Your mileage may vary.

Edited by Servant of the Lord

Share this post


Link to post
Share on other sites

Small dialog based apps aren't too bad, since the DefaultDialogProc handles quite a bit for you. Unless you just want to create a canvas for DirectX or openGL or whatever.

 

Otherwise, don't do it. It's tedious.

 

I'd use C# if I wanted a big Windows application these days. I used to do MFC in C++ but that was painful.

Share this post


Link to post
Share on other sites

Even libraries like Qt will use win32 ( on windows ) some where inside but it is abstracted away.  So why reinvent the wheel?  If you don't have a specific reason to work with win32, then you probably shouldn't.  Qt is a great library, so is wxWidgets.

 

I prefer Qt, it's easy to work with, has LOTs of other functionality not just GUI stuff.  Also has a cross platform IDE that IMO is second only to VS.

Edited by EddieV223

Share this post


Link to post
Share on other sites

The first time I encountered Win32 I sincerely contemplated firebombing the MS campus.

 

It's second nature now, but there should at least be a warning label IMO.

 

What's second nature? Win32, or desiring to incinerate Microsoft? laugh.png

 

Oh, you caught that one, did you? wink.png

Share this post


Link to post
Share on other sites

For a simple "game window" Win32 really isn't that bad at all. For anything beyond a simple canvas for rendering then go with a higher level framework. If it's a full on Windows-style GUI app then I'd be more inclined to go for another language like C# (but that's just me).

Share this post


Link to post
Share on other sites
One more thing that you should consider when choosing your GUI platform is the license  of each GUI library and/or API .
 
Qt for example, has a dual license:
0. A paid-comercial license provided by digia for pure proprietary software.
1. A LGPL license that forces the folowing restrictions (for commercial applications):
You must->
0. Expose the interfaces for the free software components to end users.
1. Povide your app's object files.
2. Encapsulate the free software components inside a dynamic link library.
(If and only if you distribute your software to others)
 
GTK+ which is really brilliant, has a LGPL license as well.
 
WxWidgets has it's own license that lets you release your proprietary software without the need to expose anything as long as you disterbute your app in a binary form.
 
A word in regards to the win32 API:
 
The windows API gives you, by far, more power and flexibility than any other API listed (in the cost of implementing a huge set of things by yourself), 
for Windows operating systems.
It is true that it has a quite steep learning curve, although it is brilliantly documented, rich, fast and beautiful !
Also, it is required if you attempt to create a pure DirectX application. 
+ you can release your GUI components without any restrictions.
Edited by Eliad Moshe

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this