Перемещение объектов с помощью мыши



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Перемещение объектов с помощью мыши



Выполнение большинства команд в приложениях для Windows осуществляется щелчком по соответствующей кнопке. Для выполнения ряда действий в языке Visual Basic предусмот­рена также операция Drag and Drop (Перетащить и Оставить). Для ее осуществления пользователь должен поместить фокус мы­ши на объекте, нажать левую кнопку мыши и, удерживая ее нажа­той, перетащить объект на новое место, а затем отпустить кнопку мыши.

Перемещаемый объект будем называть объектом-источни­ком, а объект, над которым освобождается объект-источник, объектом-целью.

 

Для того чтобы в режиме выполнения приложения объект можно было перетаскивать на новое место, следует задать его свойству DragMode (Режим перетаскивания) значение 1-Automatic, а свойству Enable — значение, равное True.

Вид указателя мыши при перетаскивании может быть задан с помощью свойства Draglcon (Значок при перетаскивании). Если объект-источник остается на другом объекте-цели, с последни объектом происходит событие DragDrop. При перетаскивании объекта-источника через другой объект с последним происходит событие DragOver.

Рассмотрим заголовок процедуры обработки события DragDrop:

Private Sub O6ъeктЦель_DragDrop([Index As Integer,] Source As _Control, X As Single, Y As Single)

Здесь

ОбъектЦель — имя объекта, с которым связано событие DragDrop

Index — переменная, которая используется только в том случае, если сбъект-цель является элементом массива объектов;

Source — переменная, которая равна объекту-источнику, “захваченному” мышью;

X и Y — координаты курсора мыши в момент наступления события DragDrop относительно верхнего левого угла объекта-цели. Если объектом-целью является форма или графическое окно, то координаты задаются в тех единицах, которые заданы свойством ScaleMode

Анимация без использования таймера

Алгоритм создания движущегося изображения в языке Basic:

1) стереть прежнее изображение;

2) вычислить координаты нового изображения;

3) нарисовать новое изображение;

4) выполнить задержку времени пустым циклом;

5) перейти к пункту 1.

Анимация с использованием таймера и метода Move

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

Таймер программируют присвоением определенных значений (в миллисекундах) свойству Interval; тем самым задают периодичность возникновения событий, связанных с таймером. Интервал (в миллисекундах) между двумя событиями может принимать любые значения в диапазоне от 0 до 65535. Интервал, равный нулю, отключает таймер. Если вам нужно, чтобы события от таймера возникали п раз в секунду, то для подсчета значений свойства Interval можно пользоваться формулой 1000/n. Например, чтобы система генерировала события таймера два раза в секунду, в свойство Interval надо записать число 500 (т.е. 1000/2). Когда доступ к таймеру разрешен, событие Timer генерируется через равные промежутки времени.

Анимация с использованием таймера и метода PaintPicture

Самый простой способ создания анимации - использовать стандартные средства Visual Basic - поочередно прорисовывать картинки на форме или PictureBox методом PaintPicture.

Метод PaintPictureобеспечивает возможность копировать графическое изображение из объекта-источника (Form, PictureBox, Image) в объект-приемник (Form, PictureBox, Printer).

Формат метода

[Приемник.] PaintPicture Источник [Хпр, Ynp, Wnp, Нпр, Хис, Уис, Wиc, Нис, Ор]

 

Здесь

Приемник — объект, в который копируется изображение;

Источник — свойство Picture объектов Form, PictureBox, Image;

Хпр, Ynp — числа или числовые выражения типа Single, задающие ко­ординаты левой верхней вершины прямоугольника на объекте-приемнике, в который копируется изображение;

Wnp, Нпр — числа или числовые выражения типа Single, задающие со­ответственно ширину и высоту прямоугольника на объекте-приемнике, в который копируется изображение. Если параметры не соответствуют разме­рам объекта-источника, рисунок растягивается или сжимается. Если параметры пропущены, сохраняется размер рисунка-источника. Если один или оба параметра отрицательные, изображение переворачивается относительно вертикальной, горизонтальной или обеих осей;

Хис, Уис — числа или числовые выражения типа sing1е, задающие координаты левой верхней вершины прямоугольника на объекте-источнике из которого берется изображение. Если параметры пропущены, берется точка с координатами (0,0);

Wис, Нис — числа или числовые выражения типа sing1е, задающие соответственно ширину и высоту прямоугольника на объекте-источнике, изкоторого берется изображение. Если они меньше размеров рисунка- источника, копируется его часть. Если параметры пропущены, копируется рисунок;

Ор — параметр, определяющий логическую операцию (and, xor и др.), которая выполняется при копировании изображения.

Все размеры и координаты задаются в тех единицах, которые заданы свойством ScaleMode.

 

 

Создание проекта

Проект, в котором осуществляется движение шарика горизонтально от левого края формы до

правого.



Последнее изменение этой страницы: 2016-12-12; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 100.25.42.117 (0.007 с.)