设置背景的方法有很多啊, 例如你可以响应每个窗体的WM_CTLCOLOR消息: HBRUSH CImageProcDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { switch( nCtlColor ) { case CTLCOLOR_BTN: case CTLCOLOR_STATIC: case CTLCOLOR_MSGBOX: // case CTLCOLOR_EDIT: case CTLCOLOR_LISTBOX: case CTLCOLOR_SCROLLBAR: case CTLCOLOR_MAX: pDC->SetBkMode( TRANSPARENT ); case CTLCOLOR_DLG: return static_cast<HBRUSH>( m_brBkColor.GetSafeHandle() ); }
HBRUSH CImageProcDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{ switch( nCtlColor )
{
case CTLCOLOR_BTN:
case CTLCOLOR_STATIC:
case CTLCOLOR_MSGBOX:
// case CTLCOLOR_EDIT:
case CTLCOLOR_LISTBOX:
case CTLCOLOR_SCROLLBAR:
case CTLCOLOR_MAX:
pDC->SetBkMode( TRANSPARENT );
case CTLCOLOR_DLG:
return static_cast<HBRUSH>( m_brBkColor.GetSafeHandle() );
}
return CDialog::OnCtlColor(pDC,pWnd,nCtlColor);
}