rct

MFC-控件-标签-设置背景透明

非 Y 不嫁゛ 提交于 2019-11-30 18:39:34
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