Modern UI framework and programming languages not only make client application development much easier than before, but they also raise a level of abstraction and hide important implementation details. To understand how the UI works, we should look at the lower-level code.
The following is the code of a simple win32 program, which is written in C. If your Visual Studio does not have C/C++ project support installed, it is not a problem. This code is needed just to illustrate how a Windows application works, and we'll break it into parts and examine each part in detail. First, let's look at the full program code listing:
#include <windows.h> const char _szClassName[] = "ConcurrencyInUIWindowClass"; LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_CLOSE: DestroyWindow(hwnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam...