| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TMonthCalendar |
| Автор: Dr Smth 22.11.2005, 17:30 |
| Люди, помогите, кто знает, please. Как работать с этой проклятой процедурой (имеется в виду MonthCalendar.BoldDays()). |
| Автор: Snowy 22.11.2005, 18:02 | ||
| В справке пример есть. Создаешь событие OnGetMonthInfo. Пишешь обработчик:
Дни [1,8, 15, 22, 29, Month] будут толстыми. |
| Автор: Dr Smth 22.11.2005, 18:52 |
| Спасибо, но так эти дни получаются толстыми в любом месяце, а мне нужно в разных месяцах разные числа выделять. Как этого добиться? |
| Автор: _hunter 22.11.2005, 19:01 |
| Month менять |
| Автор: Dr Smth 22.11.2005, 19:04 |
| Как его менять-то? |
| Автор: _hunter 22.11.2005, 19:23 | ||
да как угодно...
из этого я делаю вывод что они ( месяцы ) у тебя по какому-то алгоритму получаются |
| Автор: Dr Smth 22.11.2005, 19:38 |
| Собственно говоря, вот что нужно: просто выделить определённые даты. Пользователь щёлкает стрелки на компоненте, изменяя месяц, в соотвествии с этим подсвечиваются нужные даты для данного месяца. Этот Month имеет тип Cardinal, а что дальше - понять не могу. Как для разных месяцев подсвечивать разные даты? Пока не выходит. Пробовал далать проверку на месяц, и в соответствии с ней подсвечивать то, что нужно - не выходит: всё подряд становится жирным, проверка не действует. |
| Автор: Snowy 22.11.2005, 22:48 | ||||
Нет, Month менять нельзя. Month нам передается в событие OnGetMonthInfo. То есть при листании календаря, вызывается это событие. Ты смотришь, какой нынче месяц тебе передали и раскрашиваешь как тебе нужно. Если ты заметил, то, в приведенном мной примере, не все месяцы раскрашиваются одинаково. Вегда еще и красится число, совпадающее с номером месяца: 11 ноября, 12 декабля и т.п. Месяц тебе уже дан свыше. Тебе нужно в обработчике только красить в соответствии со значением Month. |
| Автор: ~FoX~ 23.11.2005, 10:57 | ||
Я бы сделал как нибудь так:
|
| Автор: Dr Smth 25.11.2005, 17:02 |
| Спасибо, ребята, это уже кое-что. В последнем коде только +1 не надо. |