Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Select. Private Sub Form_MouseUp (Button As Integer, Shift As Integer, X as Single, Y as Single)




Case Else

Select Case Shift

End Sub

Circle (X, Y), 100

Private Sub Form_MouseUp (Button As Integer, Shift As Integer, X as Single, Y as Single)

End Sub

Circle (X, Y), 100

Private Sub Form_MouseDown (Button As Integer, Shift As Integer, X as Single, Y as Single)

Объект_ событие мыши (Button as Integer, Shift As Integer, X as Single, Y as_ Single)

Параметр Button определяет, какая кнопка мыши нажата.

Параметр Shift определяет, нажата ли при этом клавиша Ctrl, Alt или Shift.

X, Y - определяет текущую позицию указателя мыши, используя внутренние координаты объекта - контейнера.

Например, следующая процедура при нажатии кнопки мыши рисует круг размером 100 твипов в том месте, где находится указатель мыши.

Пусть, при отпускании кнопки мыши, нарисованная окружность будет заполнена случайным цветом:

FillStyle = 0 ‘Заполнение окружности

FillColor = QBColor (Int (15*RND)) ‘ случайным цветом

Параметр Button, используя 3 младших бита числа, позволяет определить, какая из 3-х клавиш мыши была нажата.

 

Таблица 2.6

Клавиша Константа Значение параметра Button
Левая vbLeftButton  
Правая vbRightButton  
Средняя vbMiddleButton  

 

Visual Basic в процедурах MouseUp (MouseDown) дает информацию только об одной кнопке, либо левой, либо средней, либо правой.

Можно комбинировать использование мыши и клавиатуры, например, по комбинации Shift + правая кнопка мыши вызвать специальное всплывающее меню, а по Ctrl + левая кнопка - копировать объект. Здесь используется параметр Shift в процедурах MouseUp и MouseDown:

Таблица 2.7

Клавиша Константа Биты и значения
Shift VbShiftMask Бит 0: значение = 1
Ctrl VbCtrlMask Бит 1: значение = 2
Alt VbAltMask Бит 2: значение = 4
Shift + Ctrl VbShiftMask+vbCtrlMask Биты 0 и 1: значение = 3
Shift + Alt VbShiftMask+ vbAltMask Биты 0 и 2: значение = 5
Ctrl + Alt vbCtrlMask+ vbAltMask Биты 1 и 2: значение = 6
Shift + Ctrl + Alt VbShiftMask + vbCtrlMask+ vbAltMask Биты 0,1,2: значение = 7

 

Пример. Анализ нажатой клавиши.

Case 1 ‘ vbShiftMask

print "нажата клавиша Shift"

Case 2 ‘ vbCtrlMask

print "нажата клавиша Ctrl"

Case 3 ‘ vbShiftMask + vbCtrlMask

print "нажаты Shift и Ctrl"

Case 4 ‘ vbAltMask

print "нажата клавиша Alt"

print "нажаты другие клавиши"

Процедура события MouseMove вызывается при перемещении указателя мыши. Она может быть использована для полного анализа состояния клавиш мыши. Здесь параметр Button указывает, была ли нажата одна или обе клавиши мыши, или не нажата ни одна из кнопок.

Таблица 2.8

Клавиша Значение параметра Button Константа
Левая   vbLeftButton
Правая   vbRightButton
Средняя   vbMiddleButton
Левая + Правая   VbLeftButton + vbRightButton
Левая + Средняя   vbLeftButton + vbMiddleButton
Прааяв + Средняя   VbRightButton + vbMiddleButton
Все три   VbLeftButton+vbMiddleButton +vbRightButton

Если у мыши только 2 кнопки, то третий бит = 0

 




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 747; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.