Вниз
Скачать: CL | DM;

Click в MonthCalendar: как идентифицировать щелчок по дню?   Найти похожие ветки 

 
Vlad40   (2004-02-26 13:14) [0]

Событие OnClick в TMonthCalendar происходит при нажатии мышки в любом месте клиентской области календаря. А как можно узнать, что юзер кликнул по номеру дня?


 
Vlad40   (2004-02-26 14:21) [1]

Никто не знает? Что-то у меня никак не получается отловить это :-(


 
Vlad40   (2004-02-29 10:49) [2]

Глупый вопрос? / Никто не знает? / Нельзя реализовать?


 
YurikGl ©   (2004-02-29 11:13) [3]

При нажатии на день, соответсвующее число выбирается (по умолчанию синим цветом). Это свойство MonthCalendar1.date. Считываешь его и получаешь день на который нажали.


 
Vlad40   (2004-02-29 11:19) [4]

Это я понимаю :-). А если нажали на тот же день, который уже был выбран? Дело в том, что мне надо, чтобы происходило что-то типа того, что реализовано в TDateTimePicker - то есть когда пользователь кликает по дню, календарь закрывается, а когда в другом месте, то ничего не происходит


 
YurikGl ©   (2004-02-29 11:28) [5]

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


 
Anatoly Podgoretsky ©   (2004-02-29 11:29) [6]

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

Дельфи это ООП, которое включает и наследование


 
Vlad40   (2004-02-29 11:39) [7]


> YurikGl © (29.02.04 11:28) [5]

Считать позицию мыши - не проблема, но это, по-моему, мало что даст, т.к. я не знаю координат "области чисел" на календаре.


> Anatoly Podgoretsky © (29.02.04 11:29) [6]

Непонятно, что дает запоминание предыдущего значения, т.к. повторный клик по этой же дате или где-то в верхней синей области различить я не смогу.

Наследник или новый компонент - это понятно, что можно сделать. Просто думал, что можно как-то проще - отловить к-либо сообщение или еще какая-нибудь хитрость. Всем спасибо


 
YurikGl ©   (2004-02-29 11:40) [8]

TMonthCalendar является наследником TCommonCalendar а у него масса интересных private свойств и фунций. В т.ч.
procedure SetDate(Value: TDate);
procedure SetDateTime(Value: TDateTime);


 
Anatoly Podgoretsky ©   (2004-02-29 11:47) [9]

Таких не вижу, но есть MsgSetDateTime



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
1-43596
Andrey_ck
2004-02-27 10:53
2004.03.14
Запуск программы из своей программы


1-43578
Ш-К
2004-02-27 15:20
2004.03.14
Как из события передать указатель на объект в мой обработчик?


1-43550
Batoon
2004-02-27 17:30
2004.03.14
работа с LISTBOX ом


1-43455
Артем
2004-02-29 19:42
2004.03.14
WebBrowser и поиск


3-43272
Serg33443
2004-02-12 18:49
2004.03.14
InterBase and BDE




   Наверх