MCHITTESTINFO 结构 (commctrl.h)

承载特定于月份日历控件命中测试点的信息。 此结构与 MCM_HITTEST 消息和相应的 MonthCal_HitTest 宏一起使用。

语法

typedef struct {
  UINT       cbSize;
  POINT      pt;
  UINT       uHit;
  SYSTEMTIME st;
  RECT       rc;
  int        iOffset;
  int        iRow;
  int        iCol;
} MCHITTESTINFO, *PMCHITTESTINFO;

成员

cbSize

类型: UINT

此结构的大小(以字节为单位)。

pt

类型: POINT

要命中测试的点。

uHit

类型: UINT

接收表示命中测试操作结果的位标志的输出成员。 此值为下列值之一:

含义
MCHT_CALENDARBK
给定的点位于日历的背景中。
MCHT_CALENDARCONTROL
给定点位于任何日历之外,但在日历控件 RECT 内。
MCHT_CALENDARDATE
给定的点位于日历中的特定日期。 lpMCHitTest>st 的 SYSTEMTIME 结构设置为给定时间点的日期。
MCHT_CALENDARDATEMIN
给定的点超过日历中 () 的最小日期。
MCHT_CALENDARDATEMAX
给定的点超过日历中) (的最大日期。
MCHT_CALENDARDATENEXT
给定的点超过下个月的日期, (部分显示在当前显示的月份) 的月底。 如果用户单击此处,月历将滚动显示到下一个月或月份集。
MCHT_CALENDARDATEPREV
给定的点超过上个月的某个日期, (部分显示在当前显示的月份) 的月底。 如果用户单击此处,月日历将滚动显示到上一个月或月份集。
MCHT_CALENDARDAY
给定的点超过一天的缩写 (“Fri”,例如) 。 lpMCHitTest>st 的 SYSTEMTIME 结构设置为顶部行中的相应日期。
MCHT_CALENDARWEEKNUM
给定的点数超过一周, (MCS_WEEKNUMBERS 样式仅) 。 lpMCHitTest>st 的 SYSTEMTIME 结构设置为最左侧列中的相应日期。
MCHT_NOWHERE
给定的点不在月历控件上,或者它位于控件的非活动部分。
MCHT_TITLEBK
给定的点在一个月的标题的背景上。
MCHT_TITLEBTNNEXT
给定的点位于控件右上角的按钮上。 如果用户单击此处,月历将滚动显示到下一个月或月份集。
MCHT_TITLEBTNPREV
给定的点位于控件左上角的按钮上。 如果用户单击此处,月日历将滚动显示到上一个月或月份集。
MCHT_TITLEMONTH
给定的点在一个月的标题栏中,超过一个月的名称。
MCHT_TITLEYEAR
给定的点位于一个月的标题栏中,超过年份值。

st

类型: SYSTEMTIME

接收特定于命中测试位置的日期和时间信息。

rc

类型: RECT

命中测试的位置。

iOffset

类型: int

显示多个日历时,这是日历在命中测试点 (从零开始的) 的偏移量。

iRow

类型: int

给定命中点已结束的日历网格的行号。 示例:如果在一个月的 8 号(即当月的第二周)进行了命中测试, 则 iRow 将是 1,因为行的索引是从零开始的行索引。

iCol

类型: int

给定点结束的日历网格的列号。 例如,如果一周从星期日开始,而当月 1 日是星期五,则命中测试第 1 次将返回 5 (5) iCol,因为 Friday 是行开头的第五列,使用从零开始的列索引。

备注

此控件中的列和行使用从零开始的索引系统,即第一列或第一行的索引为零。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 commctrl.h