Win32画的一个不封闭图像,求高人帮小弟我填充颜色//只有WM_PAINT消息才可以用HDC

Win32画的一个不封闭图像,求高人帮我填充颜色//只有WM_PAINT消息才可以用HDC?
C/C++ code

#include "stdafx.h"
HINSTANCE g_hInstance;

int g_x2=100;
int g_y2=100;

void DrawS(HDC hDC)
{
    MoveToEx(hDC,g_x2+200,g_y2+100,NULL);//300,200
    LineTo(hDC,g_x2+150,g_y2-20);//250,80
    LineTo(hDC,g_x2+250,g_y2-20);//350,80
    LineTo(hDC,g_x2+200,g_y2+100);//300,200
}

void OnPaint(HWND hWnd)
{
    PAINTSTRUCT obj={0};
    HDC hDC=BeginPaint(hWnd,&obj);
    HPEN nPen=CreatePen(PS_DASH,6,RGB(192,168,026));
    HGDIOBJ nOldPen = SelectObject(hDC,nPen);
    HBRUSH nBrush2 = CreateHatchBrush(HS_HORIZONTAL,RGB(87,11,11));
    HGDIOBJ nOldBrush2 = SelectObject(hDC, nBrush2);
    DrawS(hDC);
    SelectObject(hDC,nOldBrush2);
    DeleteObject(nBrush2);
    SelectObject(hDC,nOldPen);
    DeleteObject(nPen);
    EndPaint(hWnd,&obj);
}

LRESULT CALLBACK Windowproc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
    switch(uMsg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    case WM_PAINT:
        OnPaint(hWnd);
        break;
    }
    return DefWindowProc(hWnd,uMsg,wParam,lParam);
}

void Register(LPSTR pszClassName, WNDPROC pszWndProc )
{
    WNDCLASSEX obj={0};
    obj.cbSize = sizeof(obj);
    obj.cbClsExtra=0;
    obj.cbWndExtra=0;
    obj.hbrBackground=(HBRUSH)(COLOR_GRAYTEXT+2);
    obj.hCursor=NULL;
    obj.hIcon=NULL;
    obj.hIconSm=NULL;
    obj.hInstance=g_hInstance;
    obj.lpfnWndProc=pszWndProc;
    obj.lpszClassName=pszClassName;
    obj.lpszMenuName=NULL;
    obj.style=CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
    RegisterClassEx(&obj);
}

HWND Create(LPSTR pszClassName,LPSTR pszWndName)
{
    HWND hWnd= CreateWindowEx(NULL,pszClassName,pszWndName,WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,g_hInstance,NULL);
    return hWnd;
}


void Display(HWND hWnd)
{
    ShowWindow(hWnd,SW_SHOW);
    UpdateWindow(hWnd);
}

void Message(HWND hWnd)
{
    MSG nMsg={0};
    while(GetMessage(&nMsg,NULL,0,0))
    {
        TranslateMessage(&nMsg);
        DispatchMessage(&nMsg);
    }
}



int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     // TODO: Place code here.
    g_hInstance=hInstance;
    Register("Main", (WNDPROC)Windowproc);
    HWND hMain = Create("Main","Application");
    Display(hMain);
    Message(hMain);
    return 0;
}




------解决方案--------------------
探讨
BOOL FillRgn(
HDC hdc, // handle to device context
HRGN hrgn, // handle to region to be filled//这个参数穿啥啊?
HBRUSH hbr // handle to brush used to fill the region
);

引用:
不只有OnPaint函数……