Интерфейс Dragamp Drop

Содержание

Слайд 2

Содержание

Основные технологические принципы ОС Windows
Возможности интерфейса Drag&Drop в Delphi
Участники операции Drag&Drop

Содержание Основные технологические принципы ОС Windows Возможности интерфейса Drag&Drop в Delphi Участники

Этапы операции Drag&Drop
Свойства компонентов, участвующих в операции Drag&Drop
События компонентов, участвующих в операции Drag&Drop
Методы компонентов, участвующих в операции Drag&Drop

Слайд 3

Основные технологические принципы ОС Windows

Plug and Play
Point and Click
Drag and

Основные технологические принципы ОС Windows Plug and Play Point and Click Drag
Drop
WYSIWYG (What You See Is What You Get )
Технология OLE (Object Linking and Embedding )
Объектно-ориентированная технология.
Оконная технология

Слайд 4

Возможности интерфейса Drag&Drop в Delphi

позволяет компонентам обмениваться данными путем «перетаскивания» их

Возможности интерфейса Drag&Drop в Delphi позволяет компонентам обмениваться данными путем «перетаскивания» их
мышью
объекты можно перемещать в пределах формы или в другую прикладную программу

Слайд 5

Участники операции

источник (или перемещаемый объект). Источником может быть элемент управления (кнопка, изображение,

Участники операции источник (или перемещаемый объект). Источником может быть элемент управления (кнопка,
метка и т. д.) или выбранная часть какого-либо объекта (например, строка из TListBox);
приемник (объект, на который будет опущен источник). Приемником может быть любой элемент управления.

Слайд 6

элемент управления

Элемент интерфейса — примитив графического интерфейса пользователя, имеющий стандартный внешний вид

элемент управления Элемент интерфейса — примитив графического интерфейса пользователя, имеющий стандартный внешний
и выполняющий стандартные действия.

Слайд 7

Этапы операции Drag&Drop

Начало перетаскивания.
Проверка готовности приемника принять перетаскиваемый объект.
Сбрасывание перетаскиваемого объекта (источника).
Окончание

Этапы операции Drag&Drop Начало перетаскивания. Проверка готовности приемника принять перетаскиваемый объект. Сбрасывание
процесса перетаскивания

Слайд 8

Свойства компонентов, участвующих в операции Drag&Drop

[1] DragMode: TDragMode;
TDragMode может быть:
dmManual
dmAutomatic
определяет,

Свойства компонентов, участвующих в операции Drag&Drop [1] DragMode: TDragMode; TDragMode может быть:
как будет выполняться весь комплекс действий, связанных с Drag&Drop.

Слайд 9

Если DragMode = dmManual, то все события перетаскивания должны определяться вручную (т.

Если DragMode = dmManual, то все события перетаскивания должны определяться вручную (т.
е. программистом по ходу выполнения программы). Перетаскивание начинается только после вызова специальных методов.
Если DragMode = dmAutomatic, то все события перетаскивания определяются автоматически, перетаскивание начинается сразу после нажатия кнопки мыши пользователем.

Слайд 10

Свойства компонентов, участвующих в операции Drag&Drop

[2] DragCursor
определяет вид курсора в

Свойства компонентов, участвующих в операции Drag&Drop [2] DragCursor определяет вид курсора в
момент, когда над компонентом «перетаскиваются данные».
DragCursor= crDrag, если компонент готов принять данные (курсор принимает вид прямоугольника со стрелкой).
DragCursor= crNoDrag, если компонент не готов принять данные (курсор — перечеркнутый круг). Только в случае DragMode = dmAutomatic

Слайд 11

События компонентов, участвующих в операции Drag&Drop

[1] OnStartDrag
Происходит в начале операции перетаскивания.
Возникает

События компонентов, участвующих в операции Drag&Drop [1] OnStartDrag Происходит в начале операции
у перетаскиваемого объекта.
Не является обязательным для выполнения. Операция перетаскивания может быть произведена и без обработки этого события.
Не все компоненты генерируют данное событие.
Заголовок обработчика события :
procedure TForm1.<имя_компонента>StartDrag (Sender: TObject; var DragObject: TDragObject);
Параметры:
Sender - содержит информацию о перетаскиваемом объекте.
DragObject - используется для того, чтобы определить вид курсора или вид рисунка при перетаскивании объекта.
От этого параметра процедура получает информацию об объекте, создаваемом данным событием

Слайд 12

События компонентов, участвующих в операции Drag&Drop

[2] OnDragOver
Проверка готовности приемника принять перетаскиваемый

События компонентов, участвующих в операции Drag&Drop [2] OnDragOver Проверка готовности приемника принять
объект
Возникает в момент перемещения указателя мыши «с грузом» над компонентом.
Заголовок обработчика:
procedure TForm1.<имя_компонента>DragOvег (Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);

Слайд 13

События компонентов, участвующих в операции Drag&Drop

[2] OnDragOver
Параметры:
Sender указывает на компонент, над

События компонентов, участвующих в операции Drag&Drop [2] OnDragOver Параметры: Sender указывает на
которым перемещается объект.
Source содержит информацию о компоненте — отправителе груза.
X и Y координаты указателя мыши, выраженные в пикселях относительно компонента Sender.
State указывает состояние перемещаемого объекта относительно Sender.
TDragState = (dsDragEnter, dsDragLeave, dsDragMove);
dsDragEnter показывает, что Source только что появился над Sender.
dsDragLeave, Source только что покинул Sender либо была отпущена кнопка мыши.
dsDragMove Source перемещается над Sender

Слайд 14

События компонентов, участвующих в операции Drag&Drop

[2] OnDragOver
Параметры:
Accept сообщает, готов ли Sender

События компонентов, участвующих в операции Drag&Drop [2] OnDragOver Параметры: Accept сообщает, готов
принять перетаскиваемые данные.
Если Accept имеет значение True, то Sender готов принять перетаскиваемый объект (если пользователь «сбросил» перетаскиваемый объект (отпустил кнопку мыши в данной точке), то приложение вызовет событие обработки операции по сбрасыванию объектов).
Значение False сообщает, что Sender не может принять перетаскиваемый объект (если пользователь отпустит кнопку мыши, то ничего не произойдет).
В обработчике OnDragOver события главное — определить значение параметра Accept.

Слайд 15

События компонентов, участвующих в операции Drag&Drop

[3] OnDragDrop
Возникает если в обработчике события OnDragOver

События компонентов, участвующих в операции Drag&Drop [3] OnDragDrop Возникает если в обработчике
значение параметра Accept=True и Вы попытались сбросить объект.
возникает у компонента, на который объект был сброшен
в его обработчике необходимо выполнить все действия над перетаскиваемым объектом по «сбрасыванию»
Заголовок обработчика:
procedure TForm1.<имя_компонента>DragDrop (Sender, Source: TObject; X, Y: Integer);
Значения параметров этого обработчика события совпадают со значениями одноименных параметров обработчика события OnDragOver.

Слайд 16

События компонентов, участвующих в операции Drag&Drop

[4] OnDragEnd
возникает при завершении перетаскивания (вне зависимости

События компонентов, участвующих в операции Drag&Drop [4] OnDragEnd возникает при завершении перетаскивания
от того, приняты данные или нет)
возникает для перетаскиваемого объекта
также происходит при отмене перетаскивания
не является обязательным для выполнения. Операция перетаскивания может быть произведена и без обработки этого события.
не все компоненты генерируют данное событие.

Слайд 17

События компонентов, участвующих в операции Drag&Drop

[4] OnDragEnd
Заголовок обработчика события:
procedure TForml.<имя_компонента>EndDrag (Sender, Target:

События компонентов, участвующих в операции Drag&Drop [4] OnDragEnd Заголовок обработчика события: procedure
TObject; X, Y: Integer);
Параметры:
Sender получает информацию о перетаскиваемом объекте.
Target содержит информацию об объекте, который получил данные.
Если перетаскиваемый объект не был принят, то Target= Nil объект.
X, Y — координаты указателя мыши в момент отпускания левой кнопки.

Слайд 18

Методы компонентов, участвующих в операции Drag&Drop

[1] BeginDrag
применяется для того, чтобы начать операцию

Методы компонентов, участвующих в операции Drag&Drop [1] BeginDrag применяется для того, чтобы
перетаскивания.
понадобится в случае, когда свойство DragMode перетаскиваемого объекта установлено в значение dmManual.
чтобы перетаскивание началось, необходимо инициализировать метод BeginDrag у объекта, который надо перетащить. Удобнее всего это делать при обработке событий мыши данного объекта.

Слайд 19

Методы компонентов, участвующих в операции Drag&Drop

[1] BeginDrag
После применения метода с объектами будут

Методы компонентов, участвующих в операции Drag&Drop [1] BeginDrag После применения метода с
происходить все те же события, рассмотренные выше для значения свойства DragMode, равного dmAutomatic.
Обычно вызов метода BeginDrag осуществляется в обработчике события OnMouseDown перетаскиваемого объекта.
пользователь сам должен позаботиться о проверке корректности начала операции перетаскивания, а именно, перетаскивание должно начинаться только при нажатии левой кнопки мыши (значение Button должно быть равно mbLeft).

Слайд 20

Методы компонентов, участвующих в операции Drag&Drop

[1] BeginDrag
Описание
procedure BeginDrag(Immediate: Boolean; Threshold: Integer=-1);
Параметр

Методы компонентов, участвующих в операции Drag&Drop [1] BeginDrag Описание procedure BeginDrag(Immediate: Boolean;
Immediate
может принимать два значения.
True, перетаскивание начинается немедленно.
False, перетаскивание начинается при смещении курсора мыши в любом направлении на количество пикселей, определенное параметром Threshold. Лучше изначально Immediate = False, так как в этом случае можно обрабатывать нажатие кнопки мыши, не начиная операцию перетаскивания.

Для того чтобы начать процесс перетаскивания, можно просто в ходе программы в нужном месте присвоить свойству DragMode перетаскиваемого объекта значение dmAutomatic.

Слайд 21

Методы компонентов, участвующих в операции Drag&Drop

[2] EndDrag
используется для того, чтобы остановить операцию

Методы компонентов, участвующих в операции Drag&Drop [2] EndDrag используется для того, чтобы
перетаскивания, начатую вызовом метода BeginDrag.
procedure EndDrag(Drop: Boolean);
Drop=True, приводит к завершению операции перетаскивания и сбрасыванию объекта.
Drop=False отменяет процесс перетаскивания.
Имя файла: Интерфейс-Dragamp-Drop.pptx
Количество просмотров: 302
Количество скачиваний: 4