Min, Max – минимальное и максимальное значения чисел.

Increment – задает приращение числа при каждом нажатии на кнопку.

Position – определяет текущее значение числа.

Wrap – определяет, как ведет себя компонент при достижении макс. или мин. значения, останавливается или двигается по кругу.

Функции и свойства компонента SpinEdit те же самые, что и у UpDown, только имеют другие имена: свойства Min, Max, Position называются соответственно MinValue, MaxValue, Value.

Из компонентов ввода дат и времени наиболее удобным является DateTimePicker. Компонент очень эффектен за счет появления выпадающего и обеспечивает безошибочный с точки зрения. синтаксиса ввод дат и времени. Его свойство Kind определяет режим работы компонента: dtkDate — ввод даты, dtkTime — ввод времени.

При вводе дат можно задать свойство DateMode равным dmComboBox — наличие выпадающего календаря, или равным dmUpDown — наличие кнопок увеличения и уменьшения, напоминающих те, которые используются в описанных ранее компонентах UpDown и SpinEdit. Только в данном случае поль-зователь может независимо устанавливать с помощью кнопок число, месяц и год. Формат представления дат определяется свойством DateFormat, которое может принимать значения dfShort — краткий формат (например, 01.12.98), или dfLong — полный формат (например, 1 Декабрь 1998г.).

Значение даты по умолчанию можно задать в Инспекторе Объектов через свойство Date. Это же свойство читается для определения заданной пользователем даты. При чтении Date надо учитывать тип этого свойства — TDateTimе, представляющий собой число с плавающей запятой, целая часть которого одержит число дней, отсчитанное от некоторого начала календаря, а дробная часть равна части 24-часового дня, т. е. характеризует время и не относится к дате.

НЕ нашли? Не то? Что вы ищете?

Для преобразования значения свойства Date в строку можно воспользоваться функцией DateToStr. Нaпpимер, оператор

Memol. Lines. Add('Дата:  ' + DateToStr(DateTimePickerl. Date));

сбавит в окно Memol строку вида «Дата: 01.12.98".

При вводе дат можно задать значения свойств MaxDate и MinDate, определяющих соответственно максимальную и минимальную дату, которую может задать пользователь.

В режиме ввода времени dtkTime введенное пользователем значение можно найти в свойстве Time, тип которого — тот же рассмотренный выше TDateTime. Преобразовать время в строку можно функцией TimeToStr.

Компонент MonthCalendar похож на рассмотренный выше компонент DateTimePicker, работающий в режиме ввода дат. Правда, в компоненте MonthCalendar предусмотрены некоторые дополнительные возможности: можно допустить множественный выбор дат в некотором диапазоне (свойство MultiSelect), можно указывать в календаре номера недель (свойство WeekNumbers), перестраивать календарь, задавая первый день каждой недели (свойство WeekNumbers) и т. п.

Компонент Calendar представляет собой менее красочный и более обыденно оформленный  календарь на один месяц. Вместо свойства Date в нем предусмотрены отдельные свойства Year – год, Month – месяц, Day – день. Все это целые числа, с которыми иногда удобнее иметь дело, чем с типом TDateTime.

13. Компоненты выбора из списков – ListBox, CheckListBox, ComboBox

Компоненты ListBox и ComboBox отображают списки строк. Они отличаются друг от друга прежде всего тем, что ListBox только отображает данные для выбора, а ComboBox позволяет также редактировать данные. Кроме того различается форма отображения списков.

Основное свойство обоих компонентов, содержащее список строк – Items. Заполнить его можно во время проектирования или во время выполнения, используя методы класса TStrings – Clear, Add и др.

В компоненте ListBox имеется свойство MultiSelect, разрешающее пользователю выбрать только один элемент из списка или множественный выбор. Индекс выбранного единичного элемента можно узнать из свойства ItemIndex. Если ни одна строка не выбрана то ItemIndex=-1.

Если допускается множественный выбор (MultiSelect = true), то значение ItemIndex соответствует тому элементу списка, который находится в фокусе. При множественном выборе проверить, выбран ли данный элемент, можно проверив свойство Selected[Index: Integer] типа Boolean.

На способ множественного выбора при MultiSelect — true влияет еще свойство ExtendedSelect. Если ExtendedSelect = true, то пользователь может выделять элементы, используя клавиши Shift и Ctrl.

Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не по­мещается целиком в окне компонента ListBox.

Свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в спи­сок добавляются не в конец, а по алфавиту.

Свойство Style, установленное в lbStandard (значение по умолчанию) соответствует списку строк. Другие значения Style позволяют отображать в списке не только текст, но и изображения.

Имеется еще один компонент, очень похожий на ListBox — это список с индикаторами CheckListВох. Выглядит он так же, как ListBox, но около каждой строки имеется индикатор, который пользова­тель может переключать. Индикаторы можно переключать и программно, если список используется для вывода данных и необходимо в нем отметить какую-то характеристику каждого объекта, например, на­личие товара данного наименования на складе.

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

Рассмотрим теперь компонент ComboBox. Стиль изображения этого компонента определяется свой­ством Style, которое может принимать следующие основные значения:

csDropDown - выпадающий список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст.

csSimple - развернутый список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст.

csDropDownList - выпадающий список со строками одинаковой высоты, не содержащий окна редактирования.

Выбор пользователя или введенный им текст можно определить по значению свойства Text. Если же надо определить индекс выбранного пользователем элемента списка, то можно воспользоваться об­суждавшимся в компоненте ListBox свойством Itemlndex.

Если в окне проводилось редактирование данных, то Itemlndex = -1. По этому признаку можно определить, что редактирование проводилось.

Свойство MaxLength определяет максимальное число символов, которые пользователь может ввес­ти в окно редактирования. Если MaxLengtn = 0, то число вводимых символов не ограничено.

Как и в компоненте ListBox, свойство Sorted позволяет упорядочить список по алфавиту.

Примеры:

label1.Caption:=ListBox1.Items. Strings[ListBox1.ItemIndex]; - в Label1 выводится текст выбранной строки.

ComboBox1.Items. Append(Edit1.Text); - в список строк компонента ComboBox1 добавляется строка из Edit1.

ListBox1.Items. SaveToFile(FName); - строки из ListBox записываются в файл.

14. Группы радиокнопок – компоненты RadioGroup, RadioButton, GroupBox

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

Начнем рассмотрение радиокнопок с компонента RadioGroup — панели группы радиокнопок. Это Панель, которая может содержать регулярно расположенные столбцами и строками радиокнопки. Над­пись в левом верхнем углу панели определяется свойством Caption. А надписи кнопок и их количество определяются свойством Items, имеющим тип TStrings. Сколько строчек вы запишете — столько и будет кнопок.

Появившиеся в панели кнопки можно разместить в несколько столбцов, задав свойство Columns. По умолчанию Columns = 1, т. е. кнопки размещаются друг под другом.

Определить, какую из кнопок выбрал пользователь, можно по свойству Itemlndex, которое показы­вает индекс выбранной кнопки. Индексы, как всегда в Delphi, начинаются с 0. По умолчанию Itemln­dex = —1, что означает отсутствие выбранной кнопки.

Компонент RadioGroup очень удобен, но не свободен от некоторых недостатков. Его хорошо исполь­зовать, если надписи кнопок имеют примерно одинаковую длину и если число кнопок в каждом столбце (при размещении их в нескольких столбцах) одинаково. В подобных случаях желательно не регулярное расположение кнопок. Такую возможность дают компоненты RadioButton, сгруппированные панелью GroupBox. Панель GroupBox выглядит на форме так же, как RadioGroup, и надпись в ее верхнем левом углу также определяется свойством Caption. Эта панель сама по себе пустая. Ее назначение — служить контейнером для других управляющих элемен­тов, в частности, для радиокнопок RadioButton. Отдельная радиокнопка RadioButton особого смысла не имеет, хотя и может служить индикатором, включаемым и выключаемым пользователем. Но в каче­стве индикаторов обычно используются другие компоненты — CheckBox. А радиокнопки имеют смысл, когда они взаимодействуют друг с другом в группе. Эта группа и объединяется единым контейнером, обычно панелью GroupBox.

Рассмотрим свойства радиокнопки RadioButton. Свойство Caption содержит надпись, появляющу­юся около кнопки. Значение свойства Alignment определяет, с какой стороны от кнопки появится над­пись: taLeftJustify — слева, taRightJustify — справа (это значение принято по умолчанию). Свойство Checked определяет, выбрана данная кнопка пользователем, или нет. Поскольку в начале выполнения приложения обычно надо, чтобы одна из кнопок группы была выбрана по умолчанию, ее свойство Chec­ked надо установить в true в процессе проектирования. Размещение кнопок RadioButton в панели GroupBox, дает большую свободу по сравнению с компонентом RadioGroup и позволяет разместить кнопки не регу­лярно.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9