Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод2курс_прогр_конт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.38 Mб
Скачать

4.Другие характеристики списков

Элементы списка могут быть отсортированы в алфавитном порядке. Наличие или отсутствие сортировки определяет свойство Sorted типа Boolean. При значении свойства False (по умолчанию) элементы в списке располагаются в порядке их поступления в список. Если свойство sorted имеет значение. True, то элементы автоматически сортируются по алфавиту в порядке возрастания.

Действие свойства Sorted является статическим, а не динамическим. Это означает, что при добавлении к отсортированному списку методами Insert и Add новых строк они размещаются на указанных позициях или в конце списка, а не по алфавиту. Чтобы отсортировать список, нужно установить значение свойства sorted в False, а затем — снова в True:

ListBoxl.Sorted:=false;

ListBoxl.Sorted:=true;

Пользователь может выбирать отдельные строки списка с помощью мыши и клавиатуры. Выбранный в списке элемент определяется свойством ItemIndex типа integer. При анализе номеров строк нужно иметь в виду, что отсчет начинается с нуля.

Программист может выбрать элемент списка, установив требуемое значение свойства ItemIndex. Так, оператор ListBox2.Itemindex:=3; приводит к выбору четвертой строки списка ListBox2, и это отображается на экране.

По умолчанию в списке можно выбрать один элемент. Для выбора двух и более элементов свойству MultiSelect типа Boolean, управляющему возмож­ностью выбора нескольких строк, устанавливается значение True. По умолча­нию свойство Multiseiect имеет значение False.

В случае, когда список поддерживает возможность выбора нескольких строк, свойство ExtendedSelect типа Boolean управляет способом выбора нескольких элементов. Когда свойство ExtendedSelect имеет значение False, добавить к выбранной группе очередной элемент можно только с помощью мыши. При этом первый щелчок кнопкой мыши на строке выби­рает ее, а повторный отменяет выбор строки. Если свойство ExtendedSelect имеет значение True (по умолчанию), то в дополнение можно выбирать элементы и с помощью клавиш управления курсором, <Shift>, <Ctrl>.

Так как у комбинированного списка можно одновременно выбирать один элемент, то у него отсутствуют свойства MultiSelect и ExtendedSelect.

Свойство Selcount типа integer возвращает число выбранных элементов в списке. Для определения номеров выбранных строк можно просмотреть зна­чения свойства Selected [Index: Integer] типа Boolean, представляющего собой массив логических значений. Если строка с номером index выбрана, то ее признак selected принимает значение True

При выборе элемента списка происходит событие OnClick, которое можно использовать для выполнения обработки выбранных строк.

Лекция № 8. Компоненты-кнопки. Переключатели. Основные свойства компонентов.

  1. Виды кнопок, используемые компоненты и их свойства.

Кнопки являются управляющими элементами и используются для выдачи команд на выполнение определенных функциональных действий. Часто эти кнопки называют командными.

В Delphi существуют следующие виды кнопок:

П ри нажатии на кнопку любого вида возникает событие OnClick.

Кнопка Button

С тандартная кнопка Button (вкладка Standard) может содержать надпись, поясняющую назначение, и может иметь фокус.

Свойства компонента Button:

  • Caption типа String определяет надпись на кнопке. Для получения ускоренного доступа к использованию клавиш нужно в свойстве Caption перед нужной нам буквой поставить символ амперсанта «&». В надписи этот символ виден не будет, а следующий за ним станет подчеркнутым. В результате вместо нажатия кнопки можно будет совместным нажатием кнопок Alt + подчеркнутый символ (в той же языковой раскладке и регистре) будет вызван обработчик события onClick нашей кнопки.

  • Default типа Boolean определяет, какая кнопка будет задействована по умолчанию при открытии формы. У этой кнопки свойство Default должно иметь значение True, а у остальных кнопок – значение False.

  • Cancel типа Boolean определяет, реагирует ли кнопка на нажатие клавиши ESC.

Кнопка с рисунком BitBtn.

К нопка с рисунком BitBtn (вкладка Additional) отличается от стандартной кнопки тем, что на ней может помещаться рисунок.

Свойства компонента BitBtn:

  • Caption типа String определяет надпись на кнопке.

  • Glyph определяет растровое изображение на кнопке. Может содержать до 3-х изображений, определяющих состояния кнопки (нажата, не нажата, недоступна).

  • NumGlyph типа Integer определяет количество используемых изображений (по умолчанию оно равно 1).

  • свойство Kind задает заранее определенные виды кнопок (bkOk, bkCancel, bkYes, bkHelp, bkClose и т.д.).

  • Layout определяет расположение изображения относительно надписи. Может принимать следующие значения:

- blGlyphLeft – изображение слева от надписи

- blGlyphRight – изображение справа от надписи

- blGlyphTop –изображение сверху надписи

- blGlyphBottom – изображение снизу надписи.

Р асстояние (в пикселах) между текстом и картинкой задается в свойстве Spacing (по умолчанию 4 пиксела). При значении -1 текст будет центрирован относительно картинки и края кнопки.

Если изображений должно быть больше чем одно, то они должны находиться на одном рисунке в одном файле формата BMP.  Для создания таких изображений изпользуют графический редактор Image Editor, поставляемый совместно с пакетом Delphi.

Кнопка быстрого доступа SpeedButton

К нопка быстрого доступа SpeedButton (вкладка Additional) используется для создания панелей инструментов и является неоконным элементом управления, следовательно, не может получать фокус, но требует меньше ресурсов.

Полностью видом и свойствами аналогична кнопке с рисунком BitBtn.

Быстрые кнопки можно группировать. Свойство GroupIndex показывает принадлежность кнопок к одной группе. Все кнопки группы работают согласованно. Если одна выбрана, то другие нет. Поэтому, если требуется, чтобы одна кнопка на панели работала независимо от всех остальных в виде переключателя нужно создать группу из одной кнопки. Чтобы кнопка имела утопленное состояние, необходимо свойству AllowAllUp присвоить значение true.

Для кнопки TSpeedButton предусмотрено событие onDblclick, которое возникает при двойном щелчке на утопленной кнопке.