Hello all i like to write GUI software ( i have no experience in GUI programming ) i need it to be small as possible and fast GUI and native Look and Feel in one self contained exe . only on windows from windows 2000 to windows 7 ( or what ever it called ) . what will be the best choice ? win32 api or wxWidgets?
Win32, you won't need wxWidgets in your distribution package(it will be small). It's harder, but I think it's better..
use wxwidgets. Its simpler as compared to win32 api.. also have a look on QT it is easier and richer.
With Windows 7, much of the GUI API is not directly available to Win32 applications. Instead, you need WPF (Windows Presentation Foundation) to access some of the new GUI elements, which means you would have to write the application in C#.
Of course, if you target anything from Windows 2000, then WPF is out of question.
If you have a non-free version of Visual Studio available, probably your best choice is to use MFC (Microsoft Foundation Classes). This is essentially using the Windows API, but in more of a C++ way.
I had to make a similar choice about two years ago. I chose Win32 API. There is a certain pride in mastering the old school way of doing things.
Btw, the Windows API has a reputation of being dirty and badly designed. I disagree with this. I find it extremely flexible yet consistent (for about 90% since backwards compatibility patches do pollute it a bit).