Это не полноценное решение, а скорее рассуждение на тему.
Карендарь создан на базе Container
Своиства:
dData - собственно задаваемая дата
nYear,nMonth - рассматриваемый период
cMonth - название рассматриваемого месяца
События:
DoIT() - некий аналог VALID() других слассов,
отрабатывает при DoubleClick() на выбраной дате
Собственно дизаин в данном примере не самоцель, скорее демонстрация функционального скелета.
Заранее извеняюсь, что дни недели и название месяцев по-латышски. Привычка, однако. Но читабельно.
Для выбора года использовал ComboBox источник которого ( aYear[50] ) генерится
исходя из текущего значения nYear (nYear-40...nYear-40+50) ( вот так вот оригинально 🙂 ).
Посетила мысль, что будущее дальше 10 лет нам пока мало интересно, а прошлое позднее
40 используется для дат рождения и его можно достичь двумя шагами.
Сетка дат не фиксирована и генерится динамически, что позаоляет программно "игратся" с размером
календаря и упрощает вписывание его в форму.
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 633calendar | .zip | 6,00 КБ |