| #include <windows.h> |
| |
| char szAppName[] = "Hello"; |
| |
| long FAR PASCAL WndProc(HWND, UINT, WPARAM, LPARAM); |
| |
| int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInst, LPSTR lpszCmdLine, |
| int nCmdShow) |
| { |
| HWND hwnd; |
| MSG msg; |
| WNDCLASS wndclass; |
| |
| if(!hPrevInst) { |
| |
| wndclass.style = CS_HREDRAW | CS_VREDRAW; |
| wndclass.lpfnWndProc = WndProc; |
| wndclass.cbClsExtra = 0; |
| wndclass.cbWndExtra = 0; |
| wndclass.hInstance = hInstance; |
| wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); |
| wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); |
| wndclass.hbrBackground = GetStockObject(WHITE_BRUSH); |
| wndclass.lpszMenuName = NULL; |
| wndclass.lpszClassName = szAppName; |
| |
| RegisterClass(&wndclass); |
| |
| |
| } |
| |
| hwnd = CreateWindow(szAppName, szAppName, |
| WS_HSCROLL | WS_VSCROLL | WS_OVERLAPPEDWINDOW, |
| CW_USEDEFAULT, CW_USEDEFAULT, 600, |
| 400, NULL, NULL, hInstance, NULL); |
| |
| ShowWindow(hwnd, nCmdShow); |
| UpdateWindow(hwnd); |
| |
| |
| while(GetMessage(&msg, NULL, 0, 0)) { |
| TranslateMessage(&msg); |
| DispatchMessage(&msg); |
| } |
| return msg.wParam; |
| } |
| |
| |
| |
| long FAR PASCAL WndProc(HWND hwnd, UINT message, WPARAM wParam, |
| LPARAM lParam) |
| { |
| HDC hdc; |
| RECT rect; |
| SIZE size; |
| PAINTSTRUCT ps; |
| |
| switch(message) { |
| |
| case WM_PAINT: |
| hdc = BeginPaint(hwnd, &ps); |
| GetClientRect(hwnd, &rect); |
| InflateRect(&rect, -10, -10); |
| if( !IsRectEmpty( &rect ) ) |
| { |
| GetTextExtentPoint32(hdc, szAppName, strlen(szAppName), &size); |
| SelectObject(hdc, GetStockObject(LTGRAY_BRUSH)); |
| Rectangle(hdc, rect.left, rect.top, rect.right, rect.bottom); |
| rect.left = (rect.right + rect.left - size.cx) / 2; |
| rect.top = (rect.bottom + rect.top - size.cy) / 2; |
| SetBkMode(hdc, TRANSPARENT); |
| TextOut(hdc, rect.left, rect.top, szAppName, strlen(szAppName) ); |
| } |
| EndPaint(hwnd, &ps); |
| return 0; |
| |
| case WM_DESTROY: |
| PostQuitMessage(0); |
| return 0; |
| } |
| return DefWindowProc(hwnd, message, wParam, lParam); |
| } |
| |