MFC-控件-标签-设置背景透明
代码块
VS2013编译通过:
//1.添加WM_CTLCOLOR 消息响应函数
//2.在消息响应函数中设置标签背景透明
HBRUSH CDlgVA::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
int ID = pWnd->GetDlgCtrlID();
//判断控件ID为需要设置的标签时
if (ID == IDC_STATIC2||ID == IDC_STATIC3)
{
pDC->SetBkMode(TRANSPARENT); //设置标签背景透明
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
return hbr;
}
//3.如需要修改标签内容,在代码段需添加如下代码
//获取当前标签位置范围
CRect rct;
GetDlgItem(IDC_STATIC3)->GetWindowRect(rct);
ScreenToClient(rct);
//重置标签范围
InvalidateRect(rct, 1);
//设置标签内容
m_CurrPath.SetWindowTextW(szSubPath);
//更新窗口信息
UpdateWindow();
来源:CSDN
作者:Ohei
链接:https://blog.csdn.net/u011565209/article/details/51766558