MFC绘图问题!怎么让Static遮挡Dialog上自绘的背景,哪位大虾指教下啊!~~急!!!
用画笔(画刷)在Dialog上绘制了一个背景。在Dialog上放置了一个Static。我不想让Static挡住我绘制的背景怎么办啊!我设置Static为透明的。Stati...
用画笔(画刷)在Dialog上绘制了一个背景。在Dialog上放置了一个Static。我不想让Static挡住我绘制的背景怎么办啊!我设置Static为透明的。Static遮挡的部分为Dialog的颜色,并不是我绘制的背景
展开
1个回答
2013-11-19
展开全部
是不是静态文本控件的背景挡住了对话框上的背景,只想显示静态文本控件上的文字。/////////////////////我就当这样认为了:给对话框添加WM_CTLCOLOR消息处理函数,函数代码如下:
HBRUSH CSecondDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Return a different brush if the default is not desired
return hbr;
}
HBRUSH CSecondDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Return a different brush if the default is not desired
return hbr;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询