gpt4 book ai didi

visual-c++ - MFC:更改CEdit的颜色

转载 作者:行者123 更新时间:2023-12-04 06:39:19 30 4
gpt4 key购买 nike

伙计们,有人可以简要介绍一下如何在运行时更改CEdit控件的背景颜色吗?如果字段长度为零,我希望能够将背景更改为红色,否则,将背景更改为正常的白色。

最佳答案

您不能使用普通的CEdit来做到这一点,您需要重写一些位。

实现您自己的ON_WM_CTLCOLOR_REFLECT处理程序,然后在处理程序中返回彩色的CBrush:

(粗略地讲,您需要在其中放置常规的资源管理,使用memormebr来删除析构函数中的笔刷)

class CColorEdit : public CEdit
{
....
CBrush m_brBkgnd;
afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor)
{
m_brBkgnd.DeleteObject();
m_brBkgnd.CreateSolidBrush(nCtlColor);
}
}

关于visual-c++ - MFC:更改CEdit的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/218035/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com