Вниз
Скачать: 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.023 c
11-43415
Dimaxx
2003-06-24 00:52
2004.03.14
Как создать иконку в 24-битном цвете?


3-43380
Delphi5.01
2004-02-14 11:17
2004.03.14
Windows98/2000 дает ошибку,мол не могу создать Delphi Tabase Engi


1-43500
Vilux
2004-02-18 16:30
2004.03.14
Как узнать, что программа будет закрыта, если нет формы


1-43437
pashtet
2004-02-27 09:36
2004.03.14
Хочу научить делать красивый интерфейс!


1-43530
IGORYOK
2004-02-28 12:02
2004.03.14
Kill скроллер у ИмеджВивера




   Наверх