2 xmldmeng xmldmeng 于 2016.01.27 21:48 提问

CCombox文字改颜色问题

HBRUSH CSuperComboBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(255,255,0)); //设置字体颜色
//这样所有的框后文字颜色都改了
//但我只想改指定CCombox的颜色
if(pWnd->GetDlgCtrlID()==控件ID)
……//但是没有效果,

}
请问这个问题怎么解决?

1个回答

caozhy
caozhy   Ds   Rxr 2016.01.27 21:58
已采纳

CSuperComboBox是你定义的么?如果是,加上一个public的变量:
isdiffcolor
在你的
if (nCtlColor == CTLCOLOR_EDIT)
下面加上判断:
if (isdiffcolor) ...

别的地方的CSuperComboBox这个字段设置为false,需要变色的设置为true

xmldmeng
xmldmeng 谢谢你的回答,但是我认为按你说的做,将不太好控制, 现在问题已经解决, pWnd->GetParent()->GetDlgCtrlID() == 控件ID 条件设置为这样就可以了。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!