SetTextColor为什么改变不了组框的文字颜色

liberty_air 2013-10-29 04:26:04
HBRUSH CSetting::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: 在此更改 DC 的任何特性

// TODO: 如果默认的不是所需画笔,则返回另一个画笔

if(IDC_LINE_STYLE == pWnd->GetDlgCtrlID())
{
pDC->SetTextColor(RGB(255,255,0)); //设置字体颜色
}
if(IDC_SLINEWIDTH == pWnd->GetDlgCtrlID())
{
pDC->SetTextColor(RGB(255,0,255));
}
//return m_br;
return hbr;
}

第一个if是判断一个组框,这个的文字颜色改不了。第二个if是判断静态文本框,文字颜色可以修改
...全文
326 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-11-30
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
liberty_air 2013-10-30
  • 打赏
  • 举报
回复
引用 3 楼 liuandsky 的回复:
ON_WM_CTLCOLOR添加映射了没
不行就创建一个画刷HBRUSH m_hr = CreateSolidBrush(color);
pDC-> SetTextColor(color);
DeleteObject(hbr);
hbr = m_hr ;



这个是改变文字颜色么?怎么我这样做是改变的背景颜色
allenltiverson 2013-10-30
  • 打赏
  • 举报
回复
首先要把背景颜色设置成透明或者白色才有效果
liberty_air 2013-10-30
  • 打赏
  • 举报
回复


在if这里和大括号那里设断点。一直是成员函数不存在。ID号找不到。。。两个if都这样。可是我明明那个文本框的可以成功修改啊。IDC_SLINEWIDTH 这个是文本框。这个可以修改。

liuandsky 2013-10-29
  • 打赏
  • 举报
回复
ON_WM_CTLCOLOR添加映射了没 不行就创建一个画刷HBRUSH m_hr = CreateSolidBrush(color); pDC-> SetTextColor(color); DeleteObject(hbr); hbr = m_hr ;
白衣的逆袭 2013-10-29
  • 打赏
  • 举报
回复
断点跟进去是什么情况?
liberty_air 2013-10-29
  • 打赏
  • 举报
回复
我确定ID号写的正确。都是复制的。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧