窗口绘制过程: 主窗口:WM_NCPAINT: 绘制父窗口的非客户区域。调用:OnNcPaint 主窗口:WM_PAINT(父窗口) 绘制父窗口,发出WM_ERASEBKGND消息。 主窗口:WM_ERASEBKGND 擦出背景:调用OnEraseBkgnd->OnCtlColor 子控件:WM_NCPAINT: 绘制控件非客户区的消息 WM_PAINT(子控件) 调用OnPaint绘制窗口,在绘制之前发出WM_ERASEBKGND消息。 子控件:WM_ERASEBKGND 调用OnCtlColor->CtrlColor
CTL_COLOR处理的控件:
CTLCOLOR_BTN Button control
CTLCOLOR_DLG Dialog box
CTLCOLOR_EDIT Edit control
CTLCOLOR_LISTBOX List-box control
CTLCOLOR_MSGBOX Message box
CTLCOLOR_SCROLLBAR Scroll-bar control
CTLCOLOR_STATIC Static control