月历控件

本部分包含有关与月历控件一起使用的编程元素的信息。

综述

主题 内容
关于月历控件 月历控件实现类似于日历的用户界面。
使用月历控件 本部分提供有关对月历控件进行编程的信息。

主题 内容
MonthCal_GetCalendarBorder 获取月份日历控件的边框大小(以像素为单位)。 可以使用此宏或显式发送 MCM_GETCALENDARBORDER 消息。
MonthCal_GetCalendarCount 获取日历控件中当前显示的日历数。 可以使用此宏或显式发送 MCM_GETCALENDARCOUNT 消息。
MonthCal_GetCalendarGridInfo 获取有关日历网格的信息。
MonthCal_GetCALID 获取给定日历控件的当前日历 ID。 可以使用此宏或显式发送 MCM_GETCALID 消息。
MonthCal_GetColor 检索月历控件的给定部分的颜色。 可以使用此宏或显式发送 MCM_GETCOLOR 消息。
MonthCal_GetCurrentView 获取月份日历控件的视图。 可以使用此宏或显式发送 MCM_GETCURRENTVIEW 消息。
MonthCal_GetCurSel 检索当前选定的日期。 可以使用此宏或显式发送 MCM_GETCURSEL 消息。
MonthCal_GetFirstDayOfWeek 检索月份日历控件的一周的第一天。 可以使用此宏或显式发送 MCM_GETFIRSTDAYOFWEEK 消息。
MonthCal_GetMaxSelCount 检索可在月日历控件中选择的最大日期范围。 可以使用此宏或显式发送 MCM_GETMAXSELCOUNT 消息。
MonthCal_GetMaxTodayWidth 检索月份日历控件中“today”字符串的最大宽度。 这包括标签文本和日期文本。 可以使用此宏或显式发送 MCM_GETMAXTODAYWIDTH 消息。
MonthCal_GetMinReqRect 检索在月日历控件中显示完整月所需的最小大小。 大小信息以 RECT 结构的形式显示。 可以使用此宏或显式发送 MCM_GETMINREQRECT 消息。
MonthCal_GetMonthDelta 检索月日历控件的滚动速率。 滚动速率是当用户单击滚动按钮时控件移动其显示月份数。 可以使用此宏或显式发送 MCM_GETMONTHDELTA 消息。
MonthCal_GetMonthRange 检索日期信息(使用 SYSTEMTIME 结构),该信息表示月历控件的显示上限和低限制。 可以使用此宏或显式发送 MCM_GETMONTHRANGE 消息。
MonthCal_GetRange 检索为月日历控件设置的最小和最大允许日期。 可以使用此宏或显式发送 MCM_GETRANGE 消息。
MonthCal_GetSelRange 检索表示用户当前选择的日期范围的上限和下限的日期信息。 可以使用此宏或显式发送 MCM_GETSELRANGE 消息。
MonthCal_GetToday 检索月份日历控件指定为“today”的日期的日期信息。 可以使用此宏或显式发送 MCM_GETTODAY 消息。
MonthCal_GetUnicodeFormat 检索控件的 Unicode 字符格式标志。 可以使用此宏或显式发送 MCM_GETUNICODEFORMAT 消息。
MonthCal_HitTest 确定某月日历控件的哪个部分位于屏幕上的给定点。 可以使用此宏或显式发送 MCM_HITTEST 消息。
MonthCal_SetCalendarBorder 设置月份日历控件的边框大小(以像素为单位)。 可以使用此宏或显式发送 MCM_SETCALENDARBORDER 消息。
MonthCal_SetCALID 设置给定日历控件的日历 ID。 可以使用此宏或显式发送 MCM_SETCALID 消息。
MonthCal_SetColor 设置月历控件的给定部分的颜色。 可以使用此宏或显式发送 MCM_SETCOLOR 消息。
MonthCal_SetCurrentView 设置月份日历控件的视图。 可以使用此宏或显式发送 MCM_SETCURRENTVIEW 消息。
MonthCal_SetCurSel 设置月份日历控件的当前选定日期。 如果指定的日期不在视图中,控件将更新显示以使其进入视图。 可以使用此宏或显式发送 MCM_SETCURSEL 消息。
MonthCal_SetDayState 设置月份日历控件中当前可见的所有月份的日期状态。 可以使用此宏或显式发送 MCM_SETDAYSTATE 消息。
MonthCal_SetFirstDayOfWeek 设置月份日历控件的一周的第一天。 可以使用此宏或显式发送 MCM_SETFIRSTDAYOFWEEK 消息。
MonthCal_SetMaxSelCount 设置可以在月日历控件中选择的最大天数。 可以使用此宏或显式发送 MCM_SETMAXSELCOUNT 消息。
MonthCal_SetMonthDelta 设置月日历控件的滚动速率。 滚动速率是当用户单击滚动按钮时控件移动其显示月份数。 可以使用此宏或显式发送 MCM_SETMONTHDELTA 消息。
MonthCal_SetRange 设置月份日历控件的最小和最大允许日期。 可以使用此宏或显式发送 MCM_SETRANGE 消息。
MonthCal_SetSelRange 将月份日历控件的选择设置为给定日期范围。 可以使用此宏或显式发送 MCM_SETSELRANGE 消息。
MonthCal_SetToday 设置月份日历控件的“今日”选择。 可以使用此宏或显式发送 MCM_SETTODAY 消息。
MonthCal_SetUnicodeFormat 设置控件的 Unicode 字符格式标志。 此消息允许你在运行时更改控件使用的字符集,而无需重新创建控件。 可以使用此宏或显式发送 MCM_SETUNICODEFORMAT 消息。
MonthCal_SizeRectToMin 计算给定矩形中将容纳多少个日历,然后返回矩形需要容纳该数量的日历所需的最小大小。 可以使用此宏或显式发送 MCM_SIZERECTTOMIN 消息。

消息

主题 内容
MCM_GETCALENDARBORDER 获取边框的大小(以像素为单位)。 可以显式发送此消息,也可以使用 MonthCal_GetCurrentView 宏发送。
MCM_GETCALENDARCOUNT 获取日历控件中当前显示的日历数。 可以显式发送此消息,也可以使用 MonthCal_GetCalendarCount 宏发送。
MCM_GETCALENDARGRIDINFO 获取有关日历网格的信息。
MCM_GETCALID 获取给定日历控件的日历 ID。 可以显式发送此消息,也可以使用 MonthCal_GetCALID 宏发送。
MCM_GETCOLOR 检索月历控件的给定部分的颜色。 可以显式发送此消息,也可以使用 MonthCal_GetColor 宏发送。
MCM_GETCURRENTVIEW 获取日历的当前视图。 可以显式发送此消息,也可以使用 MonthCal_GetCurrentView 宏发送。
MCM_GETCURSEL 检索当前选定的日期。 可以显式发送此消息,也可以使用 MonthCal_GetCurSel 宏发送。
MCM_GETFIRSTDAYOFWEEK 检索月份日历控件的一周的第一天。 可以显式发送此消息,也可以使用 MonthCal_GetFirstDayOfWeek 宏发送。
MCM_GETMAXSELCOUNT 检索可在月日历控件中选择的最大日期范围。 可以显式发送此消息,也可以使用 MonthCal_GetMaxSelCount 宏发送。
MCM_GETMAXTODAYWIDTH 检索月份日历控件中“today”字符串的最大宽度。 这包括标签文本和日期文本。 可以显式发送此消息,也可以使用 MonthCal_GetMaxTodayWidth 宏发送。
MCM_GETMINREQRECT 检索在月日历控件中显示完整月所需的最小大小。 可以显式发送此消息,也可以使用 MonthCal_GetMinReqRect 宏发送。
MCM_GETMONTHDELTA 检索月日历控件的滚动速率。 滚动速率是当用户单击滚动按钮时控件移动其显示月份数。 可以显式发送此消息,也可以使用 MonthCal_GetMonthDelta 宏发送。
MCM_GETMONTHRANGE 检索日期信息(使用 SYSTEMTIME 结构),该信息表示月历控件的显示上限和低限制。 可以显式发送此消息,也可以使用 MonthCal_GetMonthRange 宏发送。
MCM_GETRANGE 检索为月日历控件设置的最小和最大允许日期。 可以显式发送此消息,也可以使用 MonthCal_GetRange 宏发送。
MCM_GETSELRANGE 检索表示用户当前选择的日期范围的上限和下限的日期信息。 可以显式发送此消息,也可以使用 MonthCal_GetSelRange 宏发送。
MCM_GETTODAY 检索月份日历控件指定为“today”的日期的日期信息。 可以显式发送此消息,也可以使用 MonthCal_GetToday 宏发送。
MCM_GETUNICODEFORMAT 检索控件的 Unicode 字符格式标志。 可以显式发送此消息或使用 MonthCal_GetUnicodeFormat 宏。
MCM_HITTEST 确定某月日历控件的哪个部分位于屏幕上的给定点。 可以显式发送此消息,也可以使用 MonthCal_HitTest 宏发送。
MCM_SETCALENDARBORDER 设置边框的大小(以像素为单位)。 可以显式发送此消息,也可以使用 MonthCal_SetCurrentView 宏发送。
MCM_SETCALID 设置给定日历控件的日历 ID。 可以显式发送此消息,也可以使用 MonthCal_SetCALID 宏发送。
MCM_SETCOLOR 设置月历控件的给定部分的颜色。 可以显式发送此消息,也可以使用 MonthCal_SetColor 宏发送。
MCM_SETCURRENTVIEW 设置日历的当前视图。 可以显式发送此消息,也可以使用 MonthCal_SetCurrentView 宏发送。
MCM_SETCURSEL 设置月份日历控件的当前选定日期。 如果指定的日期不在视图中,控件将更新显示以使其进入视图。 可以显式发送此消息,也可以使用 MonthCal_SetCurSel 宏发送。
MCM_SETDAYSTATE 设置月份日历控件中当前可见的所有月份的日期状态。 可以显式发送此消息,也可以使用 MonthCal_SetDayState 宏发送。
MCM_SETFIRSTDAYOFWEEK 设置月份日历控件的一周的第一天。 可以显式发送此消息,也可以使用 MonthCal_SetFirstDayOfWeek 宏发送。
MCM_SETMAXSELCOUNT 设置可以在月日历控件中选择的最大天数。 可以显式发送此消息,也可以使用 MonthCal_SetMaxSelCount 宏发送。
MCM_SETMONTHDELTA 设置月日历控件的滚动速率。 滚动速率是当用户单击滚动按钮时控件移动其显示月份数。 可以显式发送此消息,也可以使用 MonthCal_SetMonthDelta 宏发送。
MCM_SETRANGE 设置月份日历控件的最小和最大允许日期。 可以显式发送此消息,也可以使用 MonthCal_SetRange 宏发送。
MCM_SETSELRANGE 将月份日历控件的选择设置为给定日期范围。 可以显式发送此消息,也可以使用 MonthCal_SetSelRange 宏发送。
MCM_SETTODAY 设置月份日历控件的“今日”选择。 可以显式发送此消息,也可以使用 MonthCal_SetToday 宏发送。
MCM_SETUNICODEFORMAT 设置控件的 Unicode 字符格式标志。 此消息允许你在运行时更改控件使用的字符集,而无需重新创建控件。 可以显式发送此消息或使用 MonthCal_SetUnicodeFormat 宏。
MCM_SIZERECTTOMIN 计算给定矩形中将容纳多少个日历,然后返回矩形需要容纳该数量的日历所需的最小大小。 可以显式发送此消息,也可以使用 MonthCal_SizeRectToMin 宏发送。

通知

主题 内容
MCN_GETDAYSTATE 按月日历控件发送,以请求有关应如何显示各个天数的信息。 此通知代码仅按使用 MCS_DAYSTATE 样式的月历控件发送,并且以 WM_NOTIFY 邮件的形式发送。
MCN_SELCHANGE 当当前所选日期或日期范围发生更改时,按月日历控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
MCN_SELECT 当用户在月日历控件中做出显式日期选择时,由月历控件发送。 此通知以 WM_NOTIFY 消息的形式发送。
MCN_VIEWCHANGE 当当前视图发生更改时,按月日历控件发送。 此通知代码以 WM_NOTIFY 消息的形式发送。
NM_RELEASEDCAPTURE (monthcal) 通知月卡控件的父窗口,控件正在释放鼠标捕获。 此通知以 WM_NOTIFY 消息的形式发送。

结构

主题 内容
MCGRIDINFO 包含有关日历控件的一部分的信息。
MCHITTESTINFO 携带特定于月历控件命中测试点的信息。 此结构与 MCM_HITTEST 消息和相应的 MonthCal_HitTest 宏一起使用。
NMDAYSTATE 携带处理 MCN_GETDAYSTATE 通知代码所需的信息。 此结构的所有成员都用于输入,prgDayState除外,接收应用程序在处理MCN_GETDAYSTATE时必须设置。
NMSELCHANGE 传递处理 MCN_SELCHANGE 通知代码所需的信息。
NMVIEWCHANGE 存储处理 MCN_VIEWCHANGE 通知代码所需的信息。

常数

主题 内容
月历控件样式 创建月历控件时使用以下样式常量。

数据类型

主题 内容
MONTHDAYSTATE MONTHDAYSTATE 数据类型是一个位字段,用于保存一个月内每天的状态。