Выделение Дат В Datetimepicker

  • Автор темы AntiFazer
  • Дата начала
A

AntiFazer

Гость
#1
Есть список дат, которые необходимо выделить в выпадающем из DateTimePicker календарике. Можно жирным шрифтом или цветом, подойдет любой вариант.

Можно ли это осуществить с этим компонентом?
 

sinkopa

Well-Known Member
#2
Есть список дат, которые необходимо выделить в выпадающем из DateTimePicker календарике. Можно жирным шрифтом или цветом, подойдет любой вариант.
Можно ли это осуществить с этим компонентом?
Нет однозначного ответа на Ваш вопрос...
Непосредственно TDateTimePicker не имеет такой возможности.
Однако его "брат" (по наследованию от TCommonCalendar) TMonthCalendar имеет событие OnGetMonthInfo.
Оба эти контрола содержат метод-утилиту BoldDays, который помогает конвертировать массив (список дней которые нужно выделить) в бинарную маску, но в TDateTimePicker (без извращений) применить его, к сожалению, некуда.
Правда в Delphi XE у TDateTimePicker добавилось собственное событие OnGetMonthBoldInfo, так что подозреваю, там (в XE) с "жирно-выделением" все в порядке.
Короче говоря, ответ зависит от того, насколько Вы готовы "поработать напильником". У Вас Есть несколько возможностей:
1. Вместо одного TDateTimePicker использовать 2 контрола TComboBox + TMonthCalendar.
2. Написать собственного наследника TCommonCalendar дополнив DateTimePicker недостающим функционалом из TMonthCalendar. (или подглядев в исходники Delphi XE)
3. Найти и использовать альтернативный компонент. например CalendarCombo (от Justin Levene)