Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОА Delphi формата А4.doc
Скачиваний:
7
Добавлен:
29.08.2019
Размер:
1.58 Mб
Скачать
  1. Механизм Drag-And-Drop – копирование и перенос объектов.

Цель занятия: с помощью языка программирования Delphi копирование и перенос.

Для выполнения задания необходимо: Поместить следующие компоненты на форму:

  • 2 компонента ListBox1, ListBox2. Изменить свойство Items на некоторый список текстовых значений; свойство Align на alLeft для компонента ListBox1, alClient для компонента ListBox2; свойство DragMode на dmAutomatic – для разрешения автоматического переноса;

  • Splitter1 для возможности изменять размеры объектов класса TListBox;

  • Компонент Panel1 – выравниваем по нижнему краю;

  • На панель добавьте две радиокнопки, изменить свойство Name добавленных кнопок на Copy и Cut. Для радиокнопки под именем Copy измените свойство Checked на True.

На событие OnDragDrop (перенос объектов) для компонента ListBox1 напишите процедуру:

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);

begin

If Copy.Checked

then if (Sender is TListBox) and (Source is TListBox)

then (Sender as TListBox).Items.Add((Source as TListBox).Items[(Source as TListBox).ItemIndex]);

If Cut.Checked

then if (Sender is TListBox) and (Source is TListBox)

then begin

(Sender as TListBox).Items.Add((Source as TListBox).Items[(Source as TListBox).ItemIndex]);

(Source as TListBox).Items.Delete((Source as TListBox).ItemIndex);

end;

end;

На событие OnDragOver (переносимый объект находится над переносимым объектом) для компонента ListBox1 напишите процедуру:

procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;

State: TDragState; var Accept: Boolean); Begin Accept := true; end;

Примечание: Свяжите написанные события с компонентом ListBox2.

ВОПРОСЫ:

  1. Изучение метода OnDragDrop компоента класса TListBox

  2. Отличие копирования от переноса.

  1. Изучение методов и свойств компонента ListBox с помощью Delphi Library Reference Help.

Цель занятия: изучить методы и свойства компонента ListBox.

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

Компонент ListBox определяет свойство Items, который является списком элементов типа строки.

Чтобы добавить строку в окно списка можно написать следующее: ListBox1.Items.Add(‘Пример строки’);

Аналогично, для удаления строки используется метод Delete.

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

По умолчанию компонент становится окном списка с единственным выбором.

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

Примечание: Один двойной щелчок на элементе в окне списка с единственным выбором вызывает некоторое действие по умолчанию.

Задание. Создать программу, для следующих событий:

  • перемещение выбранного элемента в ListBox вверх или вниз;

  • заменить выбранный элемент на текст, введённый в поле редактирования.

Примечание: Дополните написанный проект следующими возможностями:

  1. Список значений должен сохраняться на внешнем носителе и считываться данные из файла. Для решения задачи рекомендуется добавить меню: Файл – Открыть, Сохранить, Закрыть.

  2. Вставить на выбранную позицию (с помощью Insert);

  3. Мышкой перетаскивать текст с Edit1 на ListBox1.

ВОПРОСЫ:

  1. Методы и свойства компонента ListBox

  2. Как добавить, удалить и т.д. значение в списке?