Windows Apps
Hi i am new to c ++ from php. Although I am not a complete newbie, i.e. I have programmed large db application applications using oop php and sql, I would like to know that the general process of creating standalone windowed applications using C ++ comes down to patters, API compilations, etc. ..
EDITED: As for the GUI, how would you render an interface like Firefox. How do you create the look and feel because it doesn't quite look like the AWT lib as it does in visualC ++?
I think you should really pick up a copy of Programming Windows 5th Edition by Charles Petzold to help you with a lot of this background information.
a source to share
Microsoft Libraries:
From unmanaged C ++, you can use native Win32, MFC or ATL / WTL APIs.
The native Win32 API is a collection of C-style methods introduced by the Windows OS family. These APIs work by manipulating windows and message loops. You can start reading about Win32 in the MSDN Windowing section .
MFC is a C ++ class library that provides rich object-oriented wrappers around the Win32 API. It abstracts Win32 windows as CWindow classes and message outlines as CMessageMap. You can read more about MFC on MSDN.
ATL / WTL is a lightweight C ++ templating library that was launched as a C ++ wrapper for COM and then took some ideas from MFC (thus sharing the same class names) to support Win32 windowing. ATL windowing support was later split into WTL, which was then released as open source. Support for ATL windowed windows is documented in MSDN under ATL Window Classes .
From managed C ++, you can use WinForms or WPF. Both of them are fairly thoroughly described on MSDN, although their documentation and samples are heavily skewed towards C # and VB.Net. I personally also recommend that you take a look at C # if you want to explore these UI frameworks.
What do you need to use:
Of course, you need a C ++ compiler first. :-)
To use the Win32 API, you only need the Windows SDK and optional Visual C ++ Express .
To use MFC and ATL, you need one from Visual Studio Professional or higher. ATL and MFC are not included in Visual C ++ Express. (ATL / MFC may be included in the WIndows SDK or other free products that I am not aware of).
WTL 8.0 is available as a free download . You can also get the WTL sources from the Source Forge WTL Project .
To use WinForms or WPF, you need the latest .NET framework (well, essentially, you need some kind of .Net framework :-)) and optional Visual C # / VB.Net Express . I'm not sure if Visual C ++ Express supports managed C ++.
Third party parameters:
There are several third party C ++ libraries that wrap / abstract the native Win32 APIs. Some of them are abstract enough that you can develop a user interface for other platforms rather than Windows. Qt and wxWidgets are a couple I know but have never used.
a source to share
His question was deliberately broad: the quote "I would like to know what the overall process is."
By OP: First you need to decide if you will be using the console or building a gui-enabled application.
For most tutorials around the world, hello, you will find that they should work fine on any platform as long as they have access to any console.
Once you understand how C ++ works and how to create simple programs, you can start exploring the window libraries that provide you with a graphical interface and more.
So to start getting a C ++ compiler (DevCpp at www.bloodshed.net is good) and do the main hello world and more.
Then it is a matter of implementing what you want from windows.h and others.
As far as the API is concerned, it will depend on the type of program you want to make: for image / sound / input (like games / image viewer / media players) you should look into the Standard Development Library or SDL.
To execute the GUI you can use the windows API as above or check out Qt at www.qtsoftware.com or wxWidgets at www.wxwidgets.org
As a bonus, if you refrain from using the windows API as much as possible, your program will be much easier to port.
SDL, Qt, wxWidgets are all cross-platform.
a source to share