cdatetimectrl-MFC中日历控件(CDateTimeCtrl)用SetMonthCalColor函数改变颜色没有生效。

问题描述

MFC中日历控件(CDateTimeCtrl)用SetMonthCalColor函数改变颜色没有生效。
1.首先我想改变日历控件的背景颜色和字体颜色。通过搜索了解到SetMonthCalColor可以实现此功能。
2.我先拖了一个日历控件到对话框中,在头文件中声明了一个变量:
CDateTimeCtrl m_TimeStart;
3.然后再DoDataExchange()中添加:
DDX_Control(pDX IDC_DATETIMEPICKERStart m_TimeStart);
4.然后再OnInitDialog()中添加:
int n1 = 0;
n1 = m_TimeStart.SetMonthCalColor(MCSC_TITLEBK RGB(255 0 0));
n1 = m_TimeStart.SetMonthCalColor(MCSC_MONTHBK RGB(255 0 0));
n1 = m_TimeStart.SetMonthCalColor(MCSC_TEXT RGB(255 0 0));
n1 = m_TimeStart.SetMonthCalColor(MCSC_TITLETEXT RGB(255 0 0));
n1 = m_TimeStart.SetMonthCalColor(MCSC_BACKGROUND RGB(255 0 0));
n1 = m_TimeStart.SetMonthCalColor(MCSC_TRAILINGTEXT RGB(255 0 0));
此时运行程序发现日历控件的颜色没有任何变化。
5.然后给日历控件添加时间改变的消息
ON_NOTIFY(DTN_DATETIMECHANGE IDC_DATETIMEPICKERStart &CAlarmSearchDlg::OnDtnDatetimechangeDatetimepickerstart)
在响应函数中添加如下代码:
void CAlarmSearchDlg::OnDtnDatetimechangeDatetimepickerstart(NMHDR *pNMHDR LRESULT *pResult)
{
LPNMDATETIMECHANGE pDTChange = reinterpret_cast(pNMHDR);
// TODO: Add your control notification handler code here
*pResult = 0;
int n2 = 0;
n2 = m_TimeEnd.SetMonthCalColor(MCSC_TITLEBK RGB(255 0 0));
n2 = m_TimeEnd.SetMonthCalColor(MCSC_MONTHBK RGB(255 0 0));
n2 = m_TimeEnd.SetMonthCalColor(MCSC_TEXT RGB(255 0 0));
n2 = m_TimeEnd.SetMonthCalColor(MCSC_TITLETEXT RGB(255 0 0));
n2 = m_TimeEnd.SetMonthCalColor(MCSC_BACKGROUND RGB(255 0 0));
n2 = m_TimeEnd.SetMonthCalColor(MCSC_TRAILINGTEXT RGB(255 0 0));
Invalidate();
}
运行程序,此时点击下拉按钮弹出的月历颜色依旧没有变化,只是点击左右切换月份的三角按钮时才有红色闪过。
请问各位高手我应该如何修改才能实现日历颜色的改变?

时间: 2024-10-12 04:48:29

cdatetimectrl-MFC中日历控件(CDateTimeCtrl)用SetMonthCalColor函数改变颜色没有生效。的相关文章

MFC中WMP控件的使用方法的疑惑

问题描述 MFC中WMP控件的使用方法的疑惑 在用MFC做一个音乐播放器,插入WMP控件后,不知道如何使用它,怎么才能调用到他本身自带的类,比如fullscreen,怎么才能用他来设置全屏

bootstrap中日历控件datepicker无法显示

问题描述 bootstrap中日历控件datepicker无法显示 报错 $(...).datepicker is not a function 一直出现这个问题,导致日历控件点不出来 <!-- Jquery 插件 --> <script type="text/javascript" src="${pageContext.request.contextPath}/include/javascript/jquery/jquery-1.11.3.min.js&q

mfc-怎么让MFC中Webbrowser控件的大小随对话框变化而变化?

问题描述 怎么让MFC中Webbrowser控件的大小随对话框变化而变化? 我想在你对话框中添加Webbrowser控件,怎么能它的大小随对话框大小变化呢? 解决方案 在OnSize消息处理中用MoveWindow调整 解决方案二: afx_msg void OnSize(UINT nType int cx int cy); 解决方案三: 对话框控件大小随窗口的大小变化而变化MFC对话框中的控件随着对话框大小变化而变化MFC控件随窗口大小变化

mfc activex控件-MFC中 ACTIVEX控件活动与非活动区别!!!

问题描述 MFC中 ACTIVEX控件活动与非活动区别!!! 请问下 ACTIVEX控件 活动与非活动状态区别?也就是说有窗口和无窗口的区别?谢谢 能详细介绍下不胜感激!!(比如他们用途区别,例子说明更好)

mfc中mschart控件使用问题

问题描述 mfc中mschart控件使用问题 我要使用mschart画图,但是x轴不需要显示坐标,只需要在x轴最右面显示当前运行时间,需要随着时间变化,这个怎么设置啊? 解决方案 设下 X 轴的 AxisScale.Hide 属性.再用个 Label 控件显示当前时间. 解决方案二: 那不用显示在chart中,放一个static来显示就可以了. 解决方案三: 问题已经解决了,谢谢! m_Chart.GetPlot().GetAxis(0,var).GetAxisScale().SetHide(T

ASP.NET中日历控件和JS版日历控件的使用方法(第5节)_实用技巧

今天小编带大家以做任务的形式了解ASP.NET中日历控件的使用方法,主要任务内容: 1.添加一个日历,设置日期以蓝色的完整名称显示,周末以黄色背景红色文字显示,而当前日期使用绿色背景显示,用户可以选择一天.一周或整个月,被选的天/周/月使用灰色背景色来显示.当选中一个日期后,把时间显示在下面的一个文本框中,效果如图所示: 2.设计一个注册页面,使用js日历控件帮助用户输入出生日期.效果如图所示: 学习项目一  Calendar日历控件 1.在站点下创建一个Calendar页面,并在页面上拖放一个

duilib mfc中ocx控件-duilib如何调用mfc控件ocx中的方法,急!!!

问题描述 duilib如何调用mfc控件ocx中的方法,急!!! duilib如何调用mfc控件ocx中的方法啊?求大神赐教啊!!!谢谢了!!! 解决方案 这个我已经有思路了,但还是不知道怎么在duilib中加载,如何获取组件的iid?

WPF中的日历控件

一直很奇怪, WPF中怎么没有日历控件, 这给开发带来了些不便. 这里找到了一个日历控件,是Microsoft开发的, 但其只相当与.net2.0中的普通日历控件,而没有Vista中日历控件那么酷. 本文配套源码

MFC之ComboBox控件用法实例教程_C 语言

本文以实例形式较为详细的讲述了MFC中ComboBox控件的用法.分享给大家供大家参考之用.具体方法如下: 一.ComboBox简介: ComboBox控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本. 从工具栏中拖一个Combo Box控件.右击添加变量,变量名为cbBox. 二.用法: 1.为控件添加选项,指定默认选项 cbBox.AddString(_T("one")); cbBox.AddString(