c++ - 如何更改 CIPAddressCtrl 的背景颜色?
问题描述
我试图在 MFC 中更改 IP 地址控件的背景颜色和文本颜色。有一次,我改变了文本颜色和背景颜色,但是编辑控件之间的点没有显示出来。我的代码如下:
BEGIN_MESSAGE_MAP(KIPAddressCtrl, CIPAddressCtrl)
ON_WM_CTLCOLOR()
ON_WM_PAINT()
END_MESSAGE_MAP()
// KIPAddressCtrl message handlers
HBRUSH KIPAddressCtrl::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
m_brush.DeleteObject();
m_brush.CreateSolidBrush(RGB(255, 255, 0));
CRect rc;
CWindowDC dc(this);
GetWindowRect(&rc);
dc.Draw3dRect(0, 0, rc.Width(), rc.Height(), RGB(0, 0, 255), RGB(0, 0, 255));
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(255, 255, 0));
return (HBRUSH)m_brush;
}
void KIPAddressCtrl::OnPaint()
{
CRect rc;
CPaintDC dc(this);
GetClientRect(&rc);
dc.FillSolidRect(&rc, RGB(255, 255, 0));
//CIPAddressCtrl::OnPaint();
}
我的结果是
但是我要
如何解决这个问题?
解决方案
推荐阅读
- javascript - google.maps.Map() 已使用但未加载数据,这会产生费用吗?
- r - 使用 ggplot2 中列中的颜色
- python - 将 .edf 转换为 .npy
- spring-boot - spring boot 从请求中获取承载令牌并调用另一个微服务
- php - 如何在复选框上添加 PHP Cookies 或 Sessions
- javascript - 如何选择具有特定类的元素?
- c# - 连接到远程服务器 ps.outlook.com 失败并显示以下错误消息:访问被拒绝
- c++ - C ++:确保在编译时仅在指定线程上调用函数
- mysql - 将数据加载到文件中然后更新列的事务
- iterator - 返回 Null 的 Java 迭代器