C++ 在运行时更改编辑框的颜色
如果用户在MFC中修改编辑框的内容,如何更改编辑框的背景色。C++ 在运行时更改编辑框的颜色,c++,visual-c++,mfc,C++,Visual C++,Mfc,如果用户在MFC中修改编辑框的内容,如何更改编辑框的背景色。 如何在编辑控件的更改消息中进行更改。基本上,您的解决方案是 HBRUSH CEditDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { switch (nCtlColor) { case CTLCOLOR_EDIT: case CTLCOLOR_MSGBOX:
如何在编辑控件的更改消息中进行更改。基本上,您的解决方案是
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);
}
}
现在你想在文本更改上更改文本框的颜色
::OnEnchange()
{
ChangeColor = TRUE; //Its global flag maintain in any global position may be in your .H file.
}
处理WM_CTLCOLOR消息。