   Window API of choice?
  Im currently planning a project of a very feature rich gameeditor enviroment for a 2d engine. The development platform it will be used on is windows. So using the windows api would be the logical choice, but i was wondering if anyone have tried and have comments on any of the many other windowing api''s avalible?Im thinking of wxWindows, qt, WTL etc.. Im sure there are many others.I wouldnt hesitate a second from trading away classic windows development with its messageprocs, callbacks, and other horrors. I have never tried any other window api, so i dont know, maybe they all work the sameway?So if you know of a better api sharing it would be greatly appreciated 
  I''ve tried wxWindows, and it seems good. However if you afford to pay the license, I believe Qt is the way to go. ;  I''m using wxWindows, but doing nothing fancy.  Just a wxGLCanvas in a wxFrame at fullscreen.  However, the distribution comes with samples.  You may want to download/build it and look at those.  It might give you an example of wx''s GUI features and you could examine the code.   --Dave Mikesell Software;  I know this sounds lame, but I typically use Tk (as in Tcl/Tk). I create my GUI entirely in a TCL script and execute it with a Tcl interpreter embedded in my project.Tk GUI builders are generally pretty good, and you can create an extremely functional GUI in no time.Problems? Of course. You may not want a .tcl tag along script with your app (you could use Tk C API, but I think that is less attractive). Also, the GUI look isn''t native (i.e. it doesn''t quite look like a Win32 app on windows, it doesn''t look like a GTK app on linux).I find Tk to be excellent for tools and quick good GUI''s, especially if it is an internal tool (the two above reasons would cause me to pause if it isn''t an internal tool). ;Damn, am I the only person on this planet that likes the Win32 API? Seriously though iif you are already familiar with the Win32 API why not stick with it rather than having to learn another API? Granted, programming with the Win32 API can be frustrating at times, but, working with any other API can be just as frustrating if not more.   Here''s my opinion on some of the other windowing toolkits, keep in mind that I have my own biasness for and against APIs too. TCL/Tk is fine for quick and simple applications. For the application you want to create though TCL/Tk would make debugging your application extremely difficult and more complicated because TCL/Tk was being used. Ask yourself, do you really want to program an application as complicated as the one you want to make that is relying on a language that can be considered LISP without all the freaking parentheses?  GTK and its subset GTK++ is a decent API to use on UNIX and UNIX-like systems but not natively on a Windows based system. GTK would be the at the top of the list when choosing an API to use with an application that would be used on different platforms.There are couple things in GTK that do annoy me to no end. Qt may get rave reviews and everything, especially when it comes to KDE based applications, don''t let that fool you though. The majority of KDE based applications that crash on Linux based computers I have used were due to Qt problems. Most of the time I end up not using those applications anymore. One might argue that those crashes are the fault of the KDE program in question and not of Qt, that may be true but it should at least be more error tolerant than it is. wxWindows is a fine C++ based windowing toolkit, but it suffers from the same exact thing that Qt and MFC suffer from--bloatedness, although not to the same degree as the last two aforementioned APIs.  If you really want to use a C++ based windowing API while maintaining portability, use wxWindows. If you want to use a C++ based windowing toolkit only for Windows, then you might want to write your own. Writing your own C++ windowing toolkit will allow you to have the functionally you need while keeping the toolkit from getting too bloated.  If you want to use a somewhat portable C based windowing toolkit, again, use GTK. If portability is not what you have in mind, then you might just want to stick to the WIN32 API and work around any prbolems you might encounter. 