请问如何设置CDateTimeCtrl的前景色和背景色(注意,不是下拉框)

DaveX 2003-10-16 04:04:55
本人在一个对话框中使用了一个日期时间选择控件(CDateTimeCtrl)。由于所在对话框的配色方案不同于缺省方案(为蓝底白字),为风格统一,我想把该CDateTimeCtrl 也设为蓝底白字。请高手指教。
...全文
294 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaogy 2003-11-06
  • 打赏
  • 举报
回复
考虑改变其他控件的前景色吧。
DaveX 2003-10-16
  • 打赏
  • 举报
回复

其实背景色我已经搞定了,也是重载OnEraseBkgnd,示例代码如下:
BOOL CMyDTP::OnEraseBkgnd(CDC* pDC)
{
CBrush backBrush(RGB(255, 128, 128));

// Save old brush
CBrush* pOldBrush = pDC->SelectObject(&backBrush);

CRect rect;
pDC->GetClipBox(&rect); // Erase the area needed

pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
pDC->SelectObject(pOldBrush);

return TRUE;
}

但前景色怎么改?请赐教。
flyelf 2003-10-16
  • 打赏
  • 举报
回复
需要自己重载CDateTimeCtrl的WM_ERASEBKGND消息,
CxxDateTimeCtrl::OnEraseBkgnd(CDC *pDC)
{
// 不掉用系统的刷新背景方案
return TRUE;
}
DaveX 2003-10-16
  • 打赏
  • 举报
回复
补充:CDateTimeCtrl有一个方法SetMonthCalColor可以设置下拉日历的颜色,但我需要设置的是没有下拉时那个框的前景色和背景色。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧