双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

【提问】Label文字重叠的问题(顶者有分)

ljn398431 ljn398431 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我是用的OnCtlColor设置的初始化字体颜色和透明背景
HBRUSH CVirtualEarthquakePlayDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if (nCtlColor==CTLCOLOR_STATIC)

{
pDC-> SetTextColor(RGB(0,0,0)); //字体颜色
pDC-> SetBkMode(TRANSPARENT); //设置字体背景为透明
return (HBRUSH)::GetStockObject(NULL_BRUSH);


} return hbr;
}

然后设置一个Timer在Timer里实现字体的变换颜色的功能
if (m_leid == 1)
{
if((BST_CHECKED==((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck())
&&m_ckey)
{
m_ckey = 0;
m_ld3.SetTextColor(RGB(255,0,0));
}
else
{
m_ckey = 1;
m_ld3.SetTextColor(RGB(0,0,0));
}
}

然后在CLabel类里的SetTextColor函数代码如下
CLabel& CLabel::SetTextColor(COLORREF crText)
{
m_crText = crText;
RedrawWindow();
return *this;
}

然后问题出现了,当SetTimer后 字体没有来回变色 而是重叠在一起了。。。黑红黑红的。。。 求大侠帮忙
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
ljn398431
VC/MFC 16,551 成员 421,605 内容