在Win32中子类化MonthCal控件

时间:2020-03-06 14:25:25  来源:igfitidea点击:

目标:使用标准的Win32 MonthCal控件,并用RED绘制假期等日期。

看来Win32的本机方法将使用MCN_GETDAYSTATE通知,该通知似乎只允许以粗体显示特定的日子。

可能的(但被拒绝的)解决方案是编写我自己的随意绘制的MonthCalendar,将自己赶出主题支持范围,这意味着当有新的主题出现时,我控制的机会可能与UI不一致。

如果有人遇到此问题,将不胜感激。

解决方案

不能做该控件仅支持以粗体显示几天。

我们要针对的平台是台式机还是WM?如果是台式机,它真的是Win32,还是可以接受MFC解决方案?

好吧,如果应用程序不使用任何MFC,而是使用纯Win32调用编写的,那么MFC控件就可以完成我们想要的事情。因此,我们可以使用MFC或者win32制作控件,显然MFC控件将在幕后使用win32,但是15年的Windows开发人员惯例说,当有人谈论" win32控件"时,它就是"仅使用win32调用,没有外部库"," MFC控件"是"直接或者间接从CWnd派生并使用MFC类和使用模式的控件"。

无论如何,请访问http://www.bcgsoft.com/samples/calendar.htm。他们在其UI套件中具有一个类似于MonthCal控件的控件,但是我们可以在其中用颜色指示日期范围等。