#include <windows.h>
LRESULT WINAPI WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance,
   HINSTANCE hPrevInstance,
   LPSTR lpCmdLine,
   int nCmdShow)
   
{
WNDCLASSEX WindowClass; static LPCTSTR szAppName = L"OFWin";
HWND hWnd;
MSG msg; WindowClass.style = CS_HREDRAW | CS_VREDRAW;
WindowClass.lpfnWndProc = WindowProc; WindowClass.cbClsExtra = 0;
WindowClass.cbWndExtra = 0;
WindowClass.hInstance = hInstance;
WindowClass.hIcon = LoadIcon(0,IDI_APPLICATION);
WindowClass.hCursor = LoadCursor(0,IDC_ARROW);
WindowClass.hbrBackground = static_cast<HBRUSH>(GetStockObject( GRAY_BRUSH));
WindowClass.lpszMenuName = 0;
WindowClass.lpszClassName = szAppName;
WindowClass.hIconSm = 0; RegisterClassEx(&WindowClass);

hWnd = CreateWindow(
szAppName,
L"A Basic Window The Hard Way",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
0,
0,
hInstance,
0);

ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd); while(GetMessage(&msg,0,0,0) == TRUE)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return static_cast<int>(msg.wParam);
}LRESULT WINAPI WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hDC;
PAINTSTRUCT PaintSt;
RECT aRect;

switch (message)
{
case WM_PAINT:
hDC = BeginPaint(hWnd,&PaintSt);
GetClientRect(hWnd,&aRect);
SetBkMode(hDC,TRANSPARENT);
DrawText(
hDC,
L"but,soft!What light through yonder window breaks?",
-1,
&aRect,
DT_SINGLELINE | DT_CENTER | DT_CENTER);
EndPaint(hWnd,&PaintSt);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0; default:
return DefWindowProc(hWnd,message,wParam,lParam);
}
}