Консультация № 65902
07.12.2006, 07:14
0.00 руб.
0 1 1
Добрый день Уважаемые эксперты. Вопрос может быть не совсем по теме.
В MFC имеется класс CMonthCalCtrl отображающий календарный месяц или несколько месяцев в одном интерфейсном элементе. Вопрос: можно ли использовать его для множественного выбора дат (а так-же отображения дат выбранных программно) и если это возможно, то какие методы применяются? Приведите пример, если можно.
PS: Задача поставлена следующая: создать календарь знаменательных дат года (например праздников и дней рождения друзей) не вводя даты вручную.

Обсуждение

Неизвестный
07.12.2006, 10:18
общий
это ответ
Здравствуйте, TomSoyer!

Насколько я знаю, множественное выделение в month calendar возможно
только в виде диапазона дат. Для этого необходимо добавить стиль
MCS_MULTISELECT, после чего можно установить максимальную длину
выделяемого диапазона методом SetMaxSelCount (сообщение
MCM_SETMAXSELCOUNT).

Но этого Вам, видимо, будет недостаточно.
Можно еще воспользоваться методом SetDayState(inr nMonths,
LPMONTHDAYSTATE pStates),
pStates - битовый массив, биты установленные в 1 будут отображать
соответствующие дни жирным шрифтом.
Либо установить стиль MCS_DAYSTATE, тогда контрол будет слать
MCN_GETDAYSTATE на каждый отображаемый день.
Форма ответа