用MFC怎样改变只读编辑框的背景颜色,初始化时为绿色当收到某个消息时变为红色,希望高手帮帮忙!

 我来答
wwy1767
2013-02-25 · TA获得超过204个赞
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:101万
展开全部
1、首先定义个颜色全局变量 m_color;
2、初始化为绿色m_color=RGB(37,94,34));
3、在WM_CTLCOLOR的响应函数HBRUSH CxxxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)下添加处理;如下:
if( nCtlColor == CTLCOLOR_STATIC)
{
switch (pWnd->GetDlgCtrlID())
{
case IDC_EDIT_xx://只读编辑框ID
pDC->SetTextColor(RGB(0,0,0));//文字颜色
pDC->SetBkColor();//编辑框背景色
break;
default:
//。。。。。
}

4、当收到消息时,设置为红色m_color=RGB(255,0,0));
追问
谢谢我还想问问·····我想的是由单片机发来的一个信息在pc机接收后怎样利用这个信息让编辑框的颜色改变····WM_CTLCOLOR消息好像是在系统绘制对话框时发出的··那么是不是自己就不能想什么时候产生这个消息就什么时候产生
追答
你在收到消息后,让窗口重绘就行了,就是刷新窗口
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式