如何让文字编辑框变色?

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:26:58
一个对话框里有多个文字编辑框,我想当其中的一个获得焦点时,它的背景变成黄色,其他的不变,应该怎么做?
我是新手,请尽可能详细些.
十分感谢.
一楼的我试了一下并没有成功.
二楼的是全部都变了颜色.
我从书上看的说是可以从编辑框添加类,然后再怎么怎么地,我就不知道了..
不管怎么样,谢谢你们.

为对话框类添加WM_CTLCOLOR消息函数,然后在里面添加代码如下:
HBRUSH CPASSWOEDDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_EDIT)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,189,239));
HBRUSH b=CreateSolidBrush(RGB(160,189,239));
return b;
}
else if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(0,133,239));
HBRUSH b=CreateSolidBrush(RGB(0,133,239));
return b;
}
else if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(0,133,239));
return b;
}
// TODO: Change any attributes of the DC here

// TODO: Return a different brush if the default is not desired
return hbr;
}