WM_NCPAINT

 当窗体框架(非客户区)要被重画时,WM_NCPAINT消息产生

         窗体可用一个WindowProc函数接收这个消息

LRESULT CALLBACK WindowProc(              HWND hwnd,       // 窗体句柄
               UINT uMsg,       // WM_NCPAINT
               WPARAM wParam,   //处理窗体更新区域 (HRGN)
               LPARAM lParam    // 不用
);

       参数

           wParam

处理窗体更新区域,对窗体来说缺省更新的部分区域是框架。当wParam设为1时,整个窗体将得到更新。

       返回值

              如果应用这个消息就返回零

       附言:

DefWindowProc函数画窗体框架,可以拦截这条WM_NCPAINT消息

                            并画自己特有风格的窗体框架。剪切区域总是直角矩形,即使窗体的框架

                            被改变。

                            wParam可以传给GetDCEx函数。看下面例子

case WM_NCPAINT:        {
               HDC hdc;
                        hdc = GetDCEx(hwnd, (HRGN)wParam, DCX_WINDOW|DCX_INTERSECTRGN);
                       // 进入设备场景画
               ReleaseDC(hwnd, hdc);
}

                     

       需求

              Windows NT/2000/XP

              Windows 95/98/Me