|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.12.2016, 12:18 | #1 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Не пойму как правильно задать условие отрисовки месяца
Здравствуйте!
Делаю программку для задания интервала между датами кликаньем по выведенному календарю. Много сырости, которую ещё буду дорабатывать, но самое проблемное для меня - не пойму как правильно задать условие вывода первого месяца. Суть: выводится 12 месяцев следующего (2017) года, с января по декабрь. Если навести на какой-нибудь день - он и 28 следующих дней закрашиваются другим цветом. Если курсор наводится на день в декабре, то январь следующего (2017) года должен замениться на январь послеследующего (2018) года. А когда курсор покидает поле декабря - снова должен появиться январь следующего (2017) года. Пробовал несколько пришедших в голову вариантов, но ни один не работал нормально. Основное, что получалось всегда - при сдвиге курсора с декабря на ноябрь январь получается "комбинированным" - несколько первых дней получаются из 2018 года, а остальные из 2017. И я никак не пойму как сделать так, чтоб смена месяца происходила правильно и полностью. Может, кто-нибудь сможет разобраться в проблеме и посоветовать как её решить? Весь код. Код:
|
26.12.2016, 12:37 | #2 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,761
|
Вам для чего такой календарь нужен? Может легче использовать TDateTimePicker?
|
26.12.2016, 12:59 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
MouseMove не очень то в дебагере отладишь. В лог записывай значения переменных в нужных точках программы, там и увидишь что не так
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.12.2016, 13:00 | #4 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
В итоге - для ввода и отображения графика отпусков. Календарь будет позволять указать интервал отпуска и закрашивать другими цветами уже внесённые отпуски.
|
26.12.2016, 13:03 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
На OnMouseMove зря посадил. Лучше на клик на нужной дате. Имхо. И на канвас формы прорисовку зря. Для этого есть паинтбокс. И для отпусков по идее красные дни нужно учитывать. Да и не обязательно отпуск целиком берется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.12.2016, 13:15 | #6 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Что зря? Заливку следующих дней? Ну может быть... Но определение даты всё равно же по OnMouseMove? На клик по нужной дате для реализации, возможно, и проще, но хуже для наглядности. Так при наведении на дату сразу видно и дату окончания предполагаемого отпуска.
Отрисовывать полностью в паинтбоксе и копировать в канвас формы целиком? А это не сложнее для программы будет?.. Если каждый момент копировать весь большой прямоугольник. Ну это всё планируется в доработке: ввод и добавление праздничных дней, первый клик - для даты начала отпуска, второй в интервале оставшихся дней - для даты его окончания. |
26.12.2016, 15:52 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А чего не стринггрид например? Удобнее же и намного
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.12.2016, 16:15 | #8 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
А смысл? Я даты разных людей разными цветами хочу закрашивать, и если два человека на одной дате - будет половина одним цветом, половина другим. Соответственно всё равно на стринггридах придётся вручную рисовать, так что разница разве что в координации по ячейкам у него в плюсе, но зато графически есть ограничения.
|
26.12.2016, 16:31 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Легких путей не ищешь? Ну как хочешь ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.12.2016, 16:48 | #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 |