// OFWIN.CPP Native windows program to display test in a window. #include long WINAPI WindowProc(HWND hWnd, UINT message, WPARAM sParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASS WindowClass; static char szAppName[] = "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(GetStockObject(WHITE_BRUSH)); WindowClass.lpszMenuName = 0; WindowClass.lpszClassName = szAppName; RegisterClass(&WindowClass); hWnd = CreateWindow( szAppName, "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 msg.wParam; } long 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, "Hello", -1, &aRect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hWnd, &PaintSt); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; default: return DefWindowProc(hWnd, message, wParam, lParam); } }