2024年4月30日发(作者:)

本文详细阐述了基本日历控件的属性、方法以及简易使用代码。

Win32 API提供了一个显示日期的日历控件,日期的显示模式是基于控制面板中的区

域性设置或者说是依赖于用户的操作系统。

CMonthCalCtrl对象封装了日历控件的功能。日历控件提供给用户一个简易的日历界

面,用户可以用于选择日期。

一、 日历控件简介

Win32 API提供了一个显示日期的彩色日历控件,日期的显示模式是基于控制面板中

的区域性设置或者说是依赖于用户的操作系统(具体方法:更换操作系统语言和区域设置)。

具体的日历控件如下图一所示:

标题条包含两个按钮和两个标签,左边的按钮准许用户单击选择前一个月份,单击右

边的按钮选择下一个月份。左边的标签显示当前选择的年份,右边的标签显示当前的月份。

左键单击左边的“年份”标签,显示出微调按钮,通过单击按钮或者上下键来选择相应的

年份,此“年份”标签不可自己录入。左键单击右边的“月份”标签,显示可选的月份信

息,根据需要进行选择。

日历控件有较多属性,可以根据需要自行设定。属性列表如下图所示。其中No Trailing

Dates、Short Days Of Week以及Keep Selection on Navigation属性只适用于Vista

操作系统。

二、创建日历控件

通常可以在窗口、对话框、工具条及其他任何容器窗口中创建日历控件。下面以对话

框为例,创建日历控件。

日历控件对应着CMonthCalCtrl类,所以要动态创建一个日历控件,需要声明一个

CMonthCalCtrl变量或指向CMonthCalCtrl的指针,首先在对话框对应的头文件中添加

代码,如下绿色注释下所示: