Click MonthCalendar як ідентифікувати клацання по дню

Подія OnClick у TMonthCalendar відбувається при натисканні мишки у будь-якому місці клієнтської області календаря. А як можна дізнатися, що користувач клікнув за номером дня?

Ніхто не знає? Щось мені не вдається відловити це :-(

Дурне питання? / Ніхто не знає? / Не можна реалізувати?

При натисканні на день відповідне число вибирається (за замовчуванням синім кольором). Це властивість MonthCalendar1.date. Зчитуєш його і отримуєш день, на який натиснули.

Це я розумію :-). А якщо натиснули того ж дня, який уже був обраний? Справа в тому, що мені треба, щоб відбувалося щось на кшталт того, що реалізовано в TDateTimePicker - тобто коли користувач клікає по дню, календар закривається, а коли в іншому місці, то нічого не відбувається

Тоді можна спробувати вважати позицію миші в момент кліку і вперед або покопатися у вихідниках, де він там цю синю рамку малює. При першому варіанті будуть проблеми з тим, що клавішу миші натиснули, перевели мишу в інше місце і там відпустили.

Vlad40 (29.02.04 11:19) [4] А запам'ятати попереднє значення не доля, обов'язково для цього компонент потрібен, ну тоді зроби свого спадкоємця з такою властивістю та поведінкою. По клацанню зі старим значенням автозакриття, не забудь також додати властивість автозакриття.

Дельфі це ООП, яке включає і успадкування

Спадкоємець чи новий компонент – це зрозуміло, що можна зробити. Просто думав, що можна якось простіше - відловити будь-яке повідомлення або ще якась хитрість. Всім дякую

TMonthCalendar є спадкоємцем TCommonCalendar і має безліч цікавих приватних властивостей і функцій. В т.ч. procedure SetDate(Value: TDate); procedure SetDateTime(Value: TDateTime);

Таких не бачу, але є MsgSetDateTime