Visual C++. Описание стандартных классов - CMonthCalCtrl

ОГЛАВЛЕНИЕ


CMonthCalCtrl

Класс CMonthCalCtrl используется для работы с элементом управления, содержащим календарь на месяц. Используя интерфейс этого элемента управления пользователь может выбирать любую дату в текущем месяце или перейти к любому месяцу любого года. Для изменения формы отображения пользователь может предпринять следующие действия: просматривать месяцы вперед и назад;
щелкните правой кнопкой мыши на элементе управления (если не используется стиль MCS_NOTODAY) и в появившемся контекстном меню выбрать единственную команду К сегодняшней дате, в результате в элементе управления будет отображен текущий месяц, а в нем будет выделена текущая дата;
выбрать месяц и год из контекстного меню (вопрос только как его вывести). При создании данного элемента управления для него могут быть заданы следующие стили:

  • MCS_DAYSTATE - определяет, что элемент управления должен запрашивать информацию о том, какие дни недели нужно выделять жирным шрифтом. Для этого он посылает извещение MCN_GETDAYSTATE;
  • MCS_MULTYSELECT - позволяет пользователю задавать диапазон дат;
  • MCS_NOTODAY - в нижней части элемента управления не выводится текущая дата;
  • MCS_NOTODAYCIRCLE - текущая дата не обводится;
  • MCS_WEEKNUMBERS - Слева от каждой строки дней выводится номер недели (от 1 до 52).

При своей работе этот элемент управления может посылать родительскому окну некоторые извещения. Наиболее интересные из них приведены ниже:

  • MCN_GETDAYSTATE - элемент управления запрашивает о необходимости выделения некоторых дней жирным шрифтом;
  • MCN_SELCHANGE - изменилась текущая дата или диапазон дат;
  • MCN_SELECT - пользователь выбрал конкретную дату в календаре.

Описание данного класса содержится в файле заголовка afxdtctl.h