[英]Change color of edit box in runtime
How to change the background color of a edit box if user modifies its content in MFC. 如果用户在MFC中修改了其内容,如何更改其背景色。 How to change it in ON_EN_CHANGE MSg of a Edit control. 如何在Edit控件的ON_EN_CHANGE MSg中进行更改。
basically your solution is 基本上你的解决方案是
HBRUSH CEditDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
switch (nCtlColor) {
case CTLCOLOR_EDIT:
case CTLCOLOR_MSGBOX:
// Set color to green on black and return the background
brush.
pDC->SetTextColor(RGB(0, 255, 0));
if(ChangeColor == TRUE)
{
pDC->SetBkColor(RGB(0, 0, 0));
ChangeColor = FALSE;
}
return (HBRUSH)(m_pEditBkBrush->GetSafeHandle());
default:
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
} }
Now you want textbox color change on text change then, 现在,您要在文本更改时更改文本框的颜色,
::OnEnchange()
{
ChangeColor = TRUE; //Its global flag maintain in any global position may be in your .H file.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.