Структура 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
Данный момент был на определенную дату в календаре. Для структуры SYSTEMTIME в lpMCHitTest>st задана дата в заданной точке.
MCHT_CALENDARDATEMIN
Указанная точка превышает минимальные даты в календаре.
MCHT_CALENDARDATEMAX
Указанная точка превышает максимальное число дат в календаре.
MCHT_CALENDARDATENEXT
Указанная точка превышает дату следующего месяца (частично отображается в конце текущего отображаемого месяца). Если пользователь щелкает здесь, календарь месяца прокрутит отображение до следующего месяца или набора месяцев.
MCHT_CALENDARDATEPREV
Данный момент был превышен даты предыдущего месяца (частично отображается в конце текущего отображаемого месяца). Если пользователь щелкает здесь, календарь месяца прокрутит отображение до предыдущего месяца или набора месяцев.
MCHT_CALENDARDAY
Данная точка была сокращена в течение дня (например, "Пт"). Для структуры SYSTEMTIME в lpMCHitTest>st задается соответствующая дата в верхней строке.
MCHT_CALENDARWEEKNUM
Указанная точка была более недели (только MCS_WEEKNUMBERS стиле). Для структуры SYSTEMTIME в lpMCHitTest>st задана соответствующая дата в крайнем левом столбце.
MCHT_NOWHERE
Данная точка не находилась в элементе управления "Календарь месяца" или находилась в неактивной части элемента управления.
MCHT_TITLEBK
Данный момент был на фоне названия месяца.
MCHT_TITLEBTNNEXT
Указанная точка находилась над кнопкой в правом верхнем углу элемента управления. Если пользователь щелкает здесь, календарь месяца прокрутит отображение до следующего месяца или набора месяцев.
MCHT_TITLEBTNPREV
Указанная точка находилась над кнопкой в левом верхнем углу элемента управления. Если пользователь щелкает здесь, календарь месяца прокрутит отображение до предыдущего месяца или набора месяцев.
MCHT_TITLEMONTH
Данная точка была в строке заголовка месяца, более месяца названия.
MCHT_TITLEYEAR
Указанная точка находилась в строке заголовка месяца за год.

st

Тип: SYSTEMTIME

Получает сведения о дате и времени, относящиеся к расположению, которое было проверено на попадание.

rc

Тип: RECT

Расположение, проверенное на попадание.

iOffset

Тип: int

При отображении нескольких календарей это смещение календаря в точке проверки попадания (от нуля).

iRow

Тип: int

Номер строки для сетки календаря, на которую была выполнена указанная точка попадания. Пример. Если вы проверили 8-е число месяца, то есть во вторую неделю месяца, iRow будет иметь значение , так как индекс строки является индексом строки от нуля.

iCol

Тип: int

Номер столбца для сетки календаря, на которую была выполнена данная точка. Например, если неделя начинается с воскресенья, а 1-е число месяца — пятница, проверка нажатия первого числа вернет пять (5) для iCol, так как пятница находится в пятом столбце с начала строки, используя индекс столбца от нуля.

Комментарии

Столбцы и строки в этом элементе управления используют систему индексов с нуля, то есть первый столбец или строка имеет нулевой индекс.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть commctrl.h