怎样刷新非客户区解决方法

怎样刷新非客户区
我想用一张位图覆盖掉菜单栏,响应了OnNcPaint()
但程序运行后,位图给菜单栏背景遮住了,该怎么做才能把位图刷新显示出来?

void   CShapeFrame::OnNcPaint()
{
        CDC   *dc=GetWindowDC();  
        CRect   rcMenu;
        ....获取rcMenu的值

    //画菜单背景
if(!DrawStretch(dc-> GetSafeHdc(),&rcMenu,(HBITMAP)m_bmpNormal))
}
//DrawStretch用dc把m_bmpNormal填入rcMenu,该函数没问题

------解决方案--------------------
菜单有自己的绘制过程,你需要使用一个自绘的菜单。
------解决方案--------------------
这可能要处理NcHitest消息,个人感觉有难度
------解决方案--------------------
发送WM_PAINT消息,或是 InvalidateRect,根据选择决定用哪个.