15,979
社区成员
发帖
与我相关
我的任务
分享
//背景直接使用位图画刷填充
BOOL CBitmapTextDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CRect rcClient;
GetClientRect(rcClient);
pDC->FillRect(rcClient, &m_brBk);
return TRUE;
}
HBRUSH CBitmapTextDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
CRect rcCtrl;
pWnd->GetWindowRect( &rcCtrl ); //获取控件位置
ScreenToClient( &rcCtrl ); //转换到对话框
//获取ClientDC
CDC *pBkDC = GetDC();
//拷贝背景
pDC->BitBlt(0, 0, rcCtrl.Width(), rcCtrl.Height(), pBkDC, rcCtrl.left, rcCtrl.top, SRCCOPY);
//清理工作
ReleaseDC( pBkDC ); //释放ClientDC
pDC->SetBkMode(TRANSPARENT); //背景透明模式
hbr = (HBRUSH)GetStockObject(NULL_BRUSH); //
return hbr;
}