#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR lpszArgs, int nWinMode){ HWND hwnd; MSG msg; WNDCLASSEX wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.cbSize = sizeof(WNDCLASSEX); wc.hInstance = hThisInst; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hIconSm = LoadIcon(NULL, IDI_WINLOGO); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = "MyWin"; if(!RegisterClassEx(&wc)) return(0); /* ウィンドウの生成 */ hwnd = CreateWindow( "MyWin", "Windows example", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, // 表示位置(X座標) CW_USEDEFAULT, // 表示位置(Y座標) 320, // 幅 240, // 高さ HWND_DESKTOP, NULL, hThisInst, NULL ); ShowWindow(hwnd, nWinMode); UpdateWindow(hwnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return(msg.wParam); } LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hDC; PAINTSTRUCT ps; switch(message){ case WM_PAINT: /* 再描画要求メッセージ取得時 */ hDC = BeginPaint(hwnd, &ps); TextOut(hDC, 0, 0, "Hello", lstrlen("Hello")); EndPaint(hwnd, &ps); break; case WM_DESTROY: /* プログラムの終了メッセージ取得時 */ PostQuitMessage(0); break; default: return(DefWindowProc(hwnd, message, wParam, lParam)); } return(0); }