MFC 设置static(标签)控件背景透明
程序员文章站
2022-06-14 14:54:08
...
1、设置控件的属性Transparent 为True
2、重载OnCtlColor函数
在该函数体中加入以下代码:
if(pWnd->GetDlgCtrlID() == IDC_XXXX) //IDC_DEVICE_STAT为Static控件的ID
{
pDC->SetBkMode(TRANSPARENT); //设置透明属性
return (HBRUSH)GetStockObject(NULL_BRUSH); //返回空画刷
}
3、解决重影问题,添加刷新局部背景的函数,该函数主要用于单独刷新所选择的控件的区域
void XXXXDlg::RefreshControl(UINT uCtlID)
{
CRect rc;
GetDlgItem(uCtlID)->GetWindowRect(&rc);
ScreenToClient(&rc);
InvalidateRect(rc);
}
4、调用并刷新
在设置Static Text内容的地方都以下面的方式调用
m_StaticDeviceStat.SetWindowText("msg");//m_StaticDeviceStat为控件绑定的变量
RefreshControl(IDC_DEVICE_STAT);
上一篇: 关于 ECharts4 新增的数据集(dataset)
下一篇: jquery实现上传图片的预览