Компонент ввода диапазона дат (постановка)

Материал из GedeminWiki
Перейти к: навигация, поиск

Необходимо создать простой и удобный визуальный компонент для ввода периода дат как набором с клавиатуры, так и путем выбора мышью.

periodedit_1.png

Компонент должен представлять собой поле ввода TEdit справа от которого расположены три кнопки-пиктограмки для вызова выпадающих окон.

Ввод периода с помощью мыши

Диапазон дат можно указать мышью в выпадающих окнах следующими способами:

periodedit_2.png

В окне выбора двух дат располагаются горизонтально два календаря. Календарь слева показывает начальную дату, справа -- конечную. Пользователь выбирает день сначала на одном календаре, затем на другом. Сразу после указания второго дня окно закрывается, а введенный период переносится в поле ввода. Если в поле ввода указан некоторый период, то при открытии выпадающего окна дни начала и окончания периода устанавливаются на соответствующих календарях.

В выпадающем окне стандартных периодов располагаются: список лет (вертикально); список месяцев (вертикально); список кварталов; список недель (матрица). Пользователь может кликнуть мышью по любому элементу, при этом соответствующий период (год, месяц, квартал, неделя) подставится в поле ввода. После выбора -- окно закрывается.

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

Любое выпадающее окно можно закрыть без выбора периода клавишей Esc, либо кликнув мышью за его пределами.

Ввод периода с помощью клавиатуры

В поле ввода пользователю предоставляется несколько вариантов ввода временного отрезка:

periodedit_3.png

Самый очевидный вариант -- ввод двух дат. Например, 01.01.2009-31.12.2009.

periodedit_4.png

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты