![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
![]()
Здравствуйте!
Делаю программку для задания интервала между датами кликаньем по выведенному календарю. Много сырости, которую ещё буду дорабатывать, но самое проблемное для меня - не пойму как правильно задать условие вывода первого месяца. Суть: выводится 12 месяцев следующего (2017) года, с января по декабрь. Если навести на какой-нибудь день - он и 28 следующих дней закрашиваются другим цветом. Если курсор наводится на день в декабре, то январь следующего (2017) года должен замениться на январь послеследующего (2018) года. А когда курсор покидает поле декабря - снова должен появиться январь следующего (2017) года. Пробовал несколько пришедших в голову вариантов, но ни один не работал нормально. Основное, что получалось всегда - при сдвиге курсора с декабря на ноябрь январь получается "комбинированным" - несколько первых дней получаются из 2018 года, а остальные из 2017. И я никак не пойму как сделать так, чтоб смена месяца происходила правильно и полностью. Может, кто-нибудь сможет разобраться в проблеме и посоветовать как её решить? Весь код. Код:
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]()
Вам для чего такой календарь нужен? Может легче использовать TDateTimePicker?
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
MouseMove не очень то в дебагере отладишь. В лог записывай значения переменных в нужных точках программы, там и увидишь что не так
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
![]()
В итоге - для ввода и отображения графика отпусков. Календарь будет позволять указать интервал отпуска и закрашивать другими цветами уже внесённые отпуски.
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
На OnMouseMove зря посадил. Лучше на клик на нужной дате. Имхо. И на канвас формы прорисовку зря. Для этого есть паинтбокс. И для отпусков по идее красные дни нужно учитывать. Да и не обязательно отпуск целиком берется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
![]()
Что зря? Заливку следующих дней? Ну может быть... Но определение даты всё равно же по OnMouseMove? На клик по нужной дате для реализации, возможно, и проще, но хуже для наглядности. Так при наведении на дату сразу видно и дату окончания предполагаемого отпуска.
Отрисовывать полностью в паинтбоксе и копировать в канвас формы целиком? А это не сложнее для программы будет?.. Если каждый момент копировать весь большой прямоугольник. Ну это всё планируется в доработке: ввод и добавление праздничных дней, первый клик - для даты начала отпуска, второй в интервале оставшихся дней - для даты его окончания. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А чего не стринггрид например? Удобнее же и намного
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
![]()
А смысл? Я даты разных людей разными цветами хочу закрашивать, и если два человека на одной дате - будет половина одним цветом, половина другим. Соответственно всё равно на стринггридах придётся вручную рисовать, так что разница разве что в координации по ячейкам у него в плюсе, но зато графически есть ограничения.
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Легких путей не ищешь? Ну как хочешь ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
![]()
Ну вообще что-то я действительно и не подумал про стринггрид, порисовать захотелось
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VB как правильно задать условие в запросе на выборку? | SvarogIS | Microsoft Office Access | 3 | 26.12.2015 17:56 |
Построить график любой функции+как задать условие | Kornegi | Общие вопросы Delphi | 10 | 13.10.2014 14:52 |
Как правильно задать функцию ? | L6go1as | C# (си шарп) | 3 | 23.04.2014 20:03 |
как задать условие в Excel | Юлия21 | Помощь студентам | 2 | 26.04.2012 11:58 |
Как задать условие | DDiKey | Microsoft Office Excel | 3 | 23.03.2012 01:52 |