窗口WM_PAINT 讯息,始终不触发. 为什么

窗口WM_PAINT 消息,始终不触发. 为什么?创建窗口后, WM_PAINT消息始终不触发, 创建窗口后,UpdateWindow(hW

窗口WM_PAINT 消息,始终不触发. 为什么?
创建窗口后, WM_PAINT消息始终不触发, 创建窗口后,UpdateWindow(hWnd)也未触发WM_PAINT消息. 请问这是为什么?
整体源码如下: 

C/C++ code
#include <windows.h>void Show (HWND hwnd, HDC hdc, int xText, int yText, int iMapMode, TCHAR *szMapMode){    TCHAR szBuffer[60];    RECT  rect;    SaveDC(hdc);    SetMapMode(hdc, iMapMode);    GetClientRect(hwnd, &rect);    DPtoLP(hdc, (PPOINT)&rect, 2);    RestoreDC(hdc, -1);    TextOut(hdc, xText, yText, szBuffer,        wsprintf(szBuffer, TEXT("%-20s %7d %7d %7d %7d"), szMapMode,        rect.left, rect.right, rect.top, rect.bottom));}LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){    static TCHAR szHeading[] = TEXT("Mapping Mode Left Right Top Bottom");    static TCHAR szUndLine[] = TEXT("------------ ---- ----- --- ------");    static int cxChar, cyChar;    HDC            hdc;    PAINTSTRUCT    ps;    TEXTMETRIC    tm;    TCHAR        szBuf[64];    switch (message)    {    case WM_CREATE:        hdc = GetDC(hwnd);        if (hdc == NULL)            MessageBox(NULL, TEXT("GetDc Fail!"), TEXT("Err"), MB_OK);        SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));        GetTextMetrics(hdc, &tm);        cxChar = tm.tmAveCharWidth;        cyChar = tm.tmHeight + tm.tmExternalLeading;        ReleaseDC(hwnd, hdc);        return 0;    case WM_PRINT:        hdc = BeginPaint(hwnd, &ps);        SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));        SetMapMode(hdc, MM_ANISOTROPIC);        SetWindowExtEx(hdc, 1, 1, NULL);        SetViewportExtEx(hdc, cxChar, cyChar, NULL);         TextOut(hdc, 1, 1, szHeading, lstrlen(szHeading));        TextOut(hdc, 1, 2, szUndLine, lstrlen(szUndLine));        Show(hwnd, hdc, 1, 3, MM_TEXT, TEXT("TEXT(pixels)"));        Show(hwnd, hdc, 1, 4, MM_LOMETRIC, TEXT("LOMETRIC(.lmn)"));        Show(hwnd, hdc, 1, 5, MM_HIMETRIC, TEXT("HIMETRIC(.01mm)"));        Show(hwnd, hdc, 1, 6, MM_LOENGLISH, TEXT("LOENGLISH(.01 in)"));        Show(hwnd, hdc, 1, 7, MM_HIENGLISH, TEXT("HIENGLISH(.001 in)"));        Show(hwnd, hdc, 1, 8, MM_TWIPS, TEXT("TWIPS(1/1400 in)"));        EndPaint(hwnd, &ps);        return 0;    case WM_SIZE:        wsprintf(szBuf, TEXT("x:%d y:%d"), LOWORD(lParam), HIWORD(lParam));            //MessageBox(NULL, szBuf, TEXT("Size"), MB_OK);        break;    case WM_DESTROY:        PostQuitMessage(0);        return 0;    }    return DefWindowProc(hwnd, message, wParam, lParam);}int WINAPI WinMain(__in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd ){    static TCHAR szWinTitle[] = TEXT("WinMain");    HWND        hWnd;    MSG            msg;    WNDCLASS    wndClass;    wndClass.style                = CS_HREDRAW | CS_VREDRAW;    wndClass.lpszClassName        = szWinTitle;    wndClass.lpfnWndProc        = WndProc;    wndClass.cbClsExtra            = 0;    wndClass.cbWndExtra            = 0;    wndClass.hInstance            = hInstance;    wndClass.hIcon                = LoadIcon(NULL, MAKEINTRESOURCE(IDI_ICON2));    wndClass.hCursor            = LoadCursor(NULL, IDC_ARROW);    wndClass.hbrBackground        = (HBRUSH)GetStockObject(WHITE_BRUSH);    //wndClass.hbrBackground        = (HBRUSH)(COLOR_BTNFACE + 1);    wndClass.lpszMenuName        = NULL;    if (!RegisterClass(&wndClass))    {        MessageBox(NULL, TEXT("RegisterClass Fail!!"), TEXT("Err"), MB_OK);        return 0;    }    hWnd = CreateWindow(szWinTitle, TEXT("WinMain"),                        WS_OVERLAPPEDWINDOW,                        CW_USEDEFAULT, CW_USEDEFAULT,                        CW_USEDEFAULT, CW_USEDEFAULT,                        NULL, NULL, hInstance, NULL);    ShowWindow(hWnd, nShowCmd);    UpdateWindow(hWnd);    while (GetMessage(&msg, NULL, 0, 0))    {        TranslateMessage(&msg);        DispatchMessage(&msg);    }    return msg.wParam;} 



[解决办法]
C/C++ code
//case WM_PRINT:// as you code , please case WM_PAINT not WM_PRINT写差了,不是WM_PRINT而是WM_PAINT
[解决办法]
主要问题如二楼所说拼写错误,此外补充一下,UpdateWindow并不是一定发送WM_PAINT的,存在无效区域才会发送WM_PAINT消息。