Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

2.3.2.7. Дата и время (DateTimePicker)

Компонент представляет собой раскры­­­вающийся список ‑ календарь, для вв­о­да даты или времени.

Специфичные методы

CalAlignmentположение календаря:dtaLeft(слева),dtaRight(справа).

DateFormat‑ представление даты:dfShort(короткий),dfLong(длинный).

DateMode‑ способ работы:dmComboBox(раскрывающийся список),dmUpDown(счетчик изменения даты).

Date, Time‑ значение введенной даты или времени.

Kind‑ что вводится:dtkDate(дата),dtkTime(время).

ShowCheckbox‑ вывод флажка состояния его свойстваChecked(True).

MinDate, MaxDate‑ минимально и максимально допустимые даты.

2.3.3. Списки

Списки представляют собой набор строк. Списки бывают двух типов: простые (ListBox) и комбинированные (ComboBox). Пользователь имеет возможность выбрать одну или несколько строк из списка.

Общие специфичные свойства

Items,Count‑ массив строк списка (отсчет индексов с нуля) и числоcтрок.

MultiSelect‑ возможность выбора нескольких строк (True).

ExtendedSelect‑ при выборе мышкой нескольких строк можно исполь­зовать клавиши расширенного выбораShiftиCtrl.

SelCount‑ число выбранных строк.

Selected‑ массив флажков выбранных строк. Если значение элемента мас­сива равноTrue, то строка под номером этого элемента была выбрана.

Style‑lbOwnerDrawFixed(список рисуется пользователем, строки фикси­ро­ванной высоты, определяемой свойствомItemHeight),lbOwner­Draw­Variable(список рисуется пользователем, строки разной высоты).

ItemIndex‑ номер выбранной мышкой (на которой был последний щелчок мышки приMultiSelect=True) или программно строки списка.

Sorted‑ сортировка строк списка (True). Если список редактируется прог­рам­мно, то для его сортировки следует установитьSorted:=False, а затемSorted:=True.

Специфичные методы

Add(S):Integer‑ добавляет в конец массива строкуSи возвращает ее номер.

AddString(Strings:TSrings)‑ добавляет в конец массива группу строкStrings.

AddObject(S,Aobject:TObject):Integer‑ добавляет в конец массива строкуSи связанную с ней ссылку на объект.

Clear‑ очистка всего списка.

Equals(Strings:TSrings):Boolean‑ возвращаетTrueпри совпадении списков.

Delete(N) ‑ удаление из массива строки под номеромN.

IndexOf(S):Integer‑ возвращает номер строкиS(если строки нет, то -1).

Insert(N,S)‑ вставляет строкуSв массив на позицию под номеромN.

Move(X,Y)‑ перемещает строку под номеромXв позициюY.

Событие OnClickиспользуется для обработки после выбора строки.

2.3.3.1. Простой список (ListBox)

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

Специфичные свойства

Columns‑ задает число колонок (N) в области списка (N). ЕслиN=0, выводится одна колонка с вертикальной полосой прокрутки (можно вывести еще и горизонтальную полосу, как в примере), иначе - выводитсяNколонок с горизонтальной линейкой прокрутки.

TopIndex‑ программно задается номер строки, отображаемой вверху области.

Style‑ стиль изображения списка:lbStandard(обычный),lbOwnerDrawFixed(список рисуется пользователем, строки фиксированной высоты, определяемой свойствомItemHeight),lbOwnerDrawVariable(список рисуется пользователем, строки разной высоты).

Примеры:

Vari:integer;... //формирование списка строками «0», «1», «2», «3», «4», ...

For i:=0 to Listbox1.Items.Count‑1 Do ListBox1.Items[i]:=IntToStr(i);//цикл

ListBox1.Items.SaveToFile('c:\кадры.txt'); //вывод списка в файл (п.2.1.9)

ListBox2.Items.LoadFromFIle('c:\кадры.txt');//загр. списка из файла (п.2.1.9)

ListBox2.Selected[4]:=True; //программный выбор пятой строки

Label3.Caption:=’Номер выбранной строки ‘+IntToStr(ListBox2.ItemIndex);

Label4.Caption:=’Выбранная строка ‘+ListBox2.Items[ListBox2.ItemIndex];

ListBox1.Items.Assign(StringGrid1.Cols[2]);//копирования колонки в список

Вывод вертикальной и горизонтальной полос прокрутки.

Procedure TForm1.FormCreate(Sender:TObject); //cобытие формы OnCreate

Begin ListBox1.Columns:=0; //одна колонка с вертикальной полосой

SendMessage(ListBox1.Handle,lb_SetHorizontalExtent,1000,0); End;

Функция SendMessage(п.1.7.10) посылает окнуListBox1.Handleсообщение о выводе горизонтальной полосы прокрутки (код сообщения lb_SetHorizontalExtent), максимальной длиной 1000 пикселей (что заведомо больше для обязательного вывода полосы). Последний параметр (0) может быть любым.