windows sdk 如何设置控件背景透明? 10
比如Edit控件还有Staic之类的下图示例:我想让控件背景跟窗体的背景一样要如何做?还有那个位图怎么才能不被覆盖掉?...
比如Edit控件还有Staic之类的
下图示例:
我想让控件背景跟窗体的背景一样要如何做?
还有那个位图怎么才能不被覆盖掉? 展开
下图示例:
我想让控件背景跟窗体的背景一样要如何做?
还有那个位图怎么才能不被覆盖掉? 展开
1个回答
展开全部
在对话框消息WM_CTLCOLOR对应的函数中添加两行代码即可:
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
....
if( nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT); //设置背景为透明
hbr=HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
....
if( nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkMode(TRANSPARENT); //设置背景为透明
hbr=HBRUSH(GetStockObject(HOLLOW_BRUSH));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
追问
这个是mfc的,我问的是sdk.. =-=
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询