求一种与Edit背景有关的效果 假设我对话框界面有几个Edit控件,我已通过OnCtlColor()将背景设置成蓝色,现在,我想实现一种效果,当要在某一Edit中输入数据时,鼠标点击后,该Edit的背景会变为白色,而当我又触发另一个Edit时,先前的背景变回蓝色,如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 响应WM_SETFOCUS和WM_KILLFOCUS两个事件,分别设置一下背景颜色,刷新就可以了The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus. The WM_KILLFOCUS message is sent to a window immediately before it loses the keyboard focus BRUSH CXXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if (CTLCOLOR_EDIT == nCtlColor) { if (pWnd == CWnd::GetFocus()) return m_hWhiteBrush else return m_hBlueBrush; } return hbr; } 如何编写网站登录程序(步骤) 如何得到菜单 鼠标出文本? 关于如何获得窗口句柄的问题 关于CTreeCTrl的问题,大家帮帮忙。。。 snmp消息问题 16进制数用strcmp比较的问题,疑惑中 关于ODBC的菜鸟问题,请帮忙 请您帮忙. 一个17岁的小男孩!我需要你们的帮助!! MFC对话框 vc7里如何用向导来添加自定义消息 给MoveTo和LineTo传逻辑坐标是不是会不正确呀?
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (CTLCOLOR_EDIT == nCtlColor)
{
if (pWnd == CWnd::GetFocus())
return m_hWhiteBrush
else
return m_hBlueBrush;
}
return hbr;
}