Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2008, 22:44   #1
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
Вопрос Calendar...

Использую компонент Calendar.
Мне нужно, чтобы я мог выделять другим цветом определенные даты.
Нигде в свойствах не смог найти.
Какие советы будут?
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 06.07.2008, 15:11   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Сделать свой календарь, но на основе TStringGrid или TDrawGrid, и вручную ячейки отрисовывать, иначе не получится.
TCalendar унаследован от TCustomGrid и у него нет доступа к ручной отрисовке.

P.S. Немного усовершенствовал стандартный TCalendar, теперь у него есть новые свойства.

property AlterColor: TColor;
property AlterCells: TCellSet; (TCellSet = set of byte)
property BoldCells: TCellSet;

Альтернативный (дополнительный) цвет, множество ячеек в к-рых текст выводится этим цветом и множество ячеек в к-рых текст выводится жирным стилем.

Исходник модуля и пример использования во вложении
Вложения
Тип файла: rar TMyCalendar.rar (16.3 Кб, 222 просмотров)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 06.07.2008 в 16:40.
mutabor вне форума Ответить с цитированием
Старый 06.07.2008, 23:52   #3
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 mutabor - спасиб, буду разбираться))))))
вообще я просто скопировал данные из Calendar в StringGrid и разрисовал ячейки в StringGrid методом Canvas.

Но написать свой календарь - интереснее. Буду разбираться.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 07.07.2008, 17:39   #4
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

сложно понять исходник...
Нужно самому с нуля начинать, тогда все пойму...
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 07.07.2008, 20:20   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Roof Посмотреть сообщение
сложно понять исходник...
Нужно самому с нуля начинать, тогда все пойму...
Там моих, строк десять - пятнадцать во всем модуле. Это просто подредактированый исходник TCalendar, даже не пришлось менять класс от к-рого он унаследован. Добавил в процедуру отрисовки (она внутренняя, к ней нет доступа извне) своего кода немного, по тому же принципу как ты "разрисовал ячейки в StringGrid методом Canvas", ничего сверхсложного. И добавил три новых свойства для интерфейса.
Но конечно чтобы понимать принцип, нужно знать основы ООП в Дельфи.

Можно еще более его усовершенствовать под свои нужды, раскраску ячеек сделать, цвет не один, а много разных добавить, свои методы какие нибудь добавить. Если интересно, напиши какие нужны, я сделаю, пока не забыл что к чему там.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 07.07.2008, 21:49   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 mutabor
сначала сам попробую а вот когда у меня ничего не получится - тогда у тебя спрошу
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 07.07.2008, 21:54   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я тогда уже все забуду )
Удачи!
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 08.07.2008, 01:12   #8
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

А про игрушку-то помнишь

Спасибо, за удачу)))
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 09.04.2011, 17:49   #9
ANNA)))
Новичок
Джуниор
 
Регистрация: 09.04.2011
Сообщений: 1
По умолчанию

добры вечер, я не могу разобраться как сделать в компоненте Calendar цветные ячейки,чтобы все праздники и выходные дни были другим цветом!((
мне нужно сделать производственный календарь!
ANNA))) вне форума Ответить с цитированием
Старый 29.09.2011, 00:51   #10
power_
Новичок
Джуниор
 
Регистрация: 28.09.2011
Сообщений: 1
По умолчанию

а как установить этот компонент? если можно поподробнее.
power_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск