Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на Visual Basic и Active Server Pages 14


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
VBS Newswire

VBS Newswire

#14

http://vbs.pp.ru
>>> Колонка редактора

Так сложилось, что наша рассылка выходит по четвергам, а на этой неделе она совпадает с праздником 8 марта. Поэтому, от лица всей нашей редакции, я хочу поздравить всю нашу лучшую половину человечества с праздником и пожелать всего наилучшего! И спасибо Вам, что Вы читаете эту рассылку :)

>>> В этом выпуске:

1) Новости сайта
2) Результаты всенародного голосования
3) Новые темы обсуждения на http://vbs.pp.ru/forum
4) Статья: Работа с мышью

>>> Новости сайта

  • 07.03.2001
    Праздник за праздником :) На этот раз мы поздравляем с наступающим праздником лучшую половину человечества! В разделе "FAQ - Статьи": Работа с мышью. Новый вопрос выставлен на всенародном голосование (см. "Главную страницу").

>>> Результаты всенародного голосования

Какую версию Visual Basic Вы используете?

а) 3.0 и младше - 0 (0%)
б) 4.0 (16 и 32) - 0 (0%)
в) 5.0 - 0 (0%)
г) 6.0 и старше - 10 (100%)
д) Нет VB - 0 (0%)

Всего приняло участие: 10 человек(а)

Новый вопрос!

Оставь и свой голос! http://vbs.pp.ru

>>> Новые темы обсуждения на http://vbs.pp.ru/forum

Список всех форумов | Visual Basic | Active Server Pages | Базы данных | ActiveX | Мультимедия | Visual Basic для новичков | Работа

winsock
ЩАС ТАКОЕ СПРОШУ...
Как убрать название программы из списка Ctrl-Alt-Del? Чего только не пробывал ничего не получается.
оператор call
Нужон хелп!
Как сделать ленту треугольников в DirectX
Компаненты ICQ?
DataCombo
OPEN
OPEN

>>> Статья: Работа с мышью

Данная статья рассматривает приемы работы с мышкой. Не мне вам объяснять, что такое мышка. Я помню те времена, когда в компьютерных клубах мышку выдавали под большой залог. А сейчас мышь - обязательный атрибут любого настольного компьютера, как клавиатура, монитор, системный блок... принтер... модем... GeForce3... PentiumIII/Athlon 1000 Гц... размечтался я что-то...

Необходимые разъяснения:

В данной статье все декларируемые функции обозначены как Private, что позволяет использовать их непосредственно в коде формы. Но более правильным является декларирование функций в дополнительном модуле(Меню Project/Add Module - нажмите Enter)

Список рассматриваемых вопросов:

0. Событие MousePointer
0.1 Событие MouseMove, MouseDown, MouseUp
1. Как установить время двойного нажатия клавиши мыши
2. Переместить курсор мыши на новое место
3. Как заблокировать мышку
4. Как отследить местоположение курсора
5. Поменять программно кнопки мыши
6. Скрыть/показать курсор мыши


0. Прежде всего хочется отметить событие MousePointer - при определенном его значении курсор может менять свой вид

Константа Значение Описание
vbDefault 0 Курсор по умолчанию
vbArrow 1 Стрелка
vbCrosshair 2 Крестик
vbIbeam 3 Стандартный курсор для текста.
vbIconPointer 4 Иконка
vbSizePointer 5 Крестик со стрелками во все четыре стороны
vbSizeNESW 6 Двухконечная стрелка (вниз/влево - вверх/вправо)
vbSizeNS 7 Двухконечная стрелка (вверх-вниз)
vbSizeNWSE 8 Двухконечная стрелка (вверх/влево - вниз/вправо)
vbSizeWE 9 Двухконечная стрелка (влево-вправо)
vbUpArrow 10 Стрелка вверх
vbHourglass 11 Часы
vbNoDrop 11 Перечеркнутый круг
vbArrowHourglass 13 Стрелка с часами
vbArrowQuestion 14 Стрелка с вопросом. (обычно используется для контекстной справки)
vbSizeAll 15 Аналогично значению 5
Custom 99 Курсор, определяемый пользователем. Для использования своего курсора, его надо поместитьт в событие MouseIcon

Пример использования:
Form1.MousePointer = 14
Form1.MousePointer = vbHourglass


0.1 При движении мыши возникает событие MouseMove. Данное событие позволяет отследить местоположение мыши. Для отслеживания нажатий на кнопки мыши используются события MouseDown и MouseUp.

Событие Описание
MouseMove Событие возникает при движении мыши
MouseDown Событие возникает при нажатии на кнопку мыши
MouseUp Событие возникает при опускании кнопки мыши

1. Как установить время двойного нажатия клавиши мыши

Данную операцию вы можете проделать непосредственно в системе: ПУСК/Панель Управления/Мышь и меняете ползунок DoubleClickSpeed.
В примере замените цифру '500' на время  (в миллисекундах), которое нужно вам: 1000 миллисекунда = 1 секунда

Private Declare Function SetDoubleClickTime Lib "user32" (ByVal wCount As Long) As Long

Private Sub Form_Load()
s = SetDoubleClickTime(500)  
End Sub


2. Переместить курсор мыши на новое место

Данный пример покажет, как переместить курсор мыши на новое место. Замените цифры в скобках (500,600) на те, которые нужны вам. Цифры означают, на какое расстояние (в пикселях экрана) переместится курсор мыши относительно левого/верхнего угла вашего монитора.

Private Declare Function SetCursorPos& Lib "user32" (ByVal X As Long, ByVal Y As Long)

Private Sub Form_Load()
SetCursorPos 500, 600
End Sub


3. Как заблокировать мышку

Необходимое предупреждение!!! После выполнения данного кода вам только останется перезагрузить систему, прежде чем вы сможете снова работать с мышью

Shell "rundll32 mouse,disable"


4. Как отследить местоположение курсора

Прежде всего необходимо декларировать функцию, отвечающую за определение местоположения курсора, а также определить тип передаваемых данных

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type

Далее: положите на форму компоненты Timer и Label. Установите значение Inteval таймера в 1.

Private Sub Timer1_Timer()
Dim cPos As POINTAPI
GetCursorPos cPos 'Вызываем функцию, которая устанавливает позицию курсора
Label1.Caption = cPos.X & ", " & cPos.Y 'Наблюдаем за перемещением курсора
End Sub


5. Поменять программно кнопки мыши

Для того, чтобы программно поменять местами кнопки мыши, вам достаточно объявить нижеследующую функцию SwapMouseButton как...
Private Declare Function SwapMouseButton& Lib "user32" (ByVal bSwap As Long) ' если вы будете использовать ее в одном модуле с кодом замены кнопок, или
Public Declare Function SwapMouseButton& Lib "user32" (ByVal bSwap As Long) ' если вы захотите вынести функцию в отдельный модуль, что предпочтительней.
Для программной замены вам достаточно использовать вышеприведенную функцию как:
SwapMouseButton& 1 ' событие: кнопки поменялись местами
SwapMouseButton& 0 ' событие: все вернулось в исходное состояние


6. Скрыть/показать курсор мыши

Иногда необходимо спрятать курсор на некоторое время, а хатем показать его. Вы можете воспользоваться нижепривиденным кодом, но ПОМНИТЕ: Перед выходом из вашей программы, не забудьте показать его.

Declare Function ShowCursor& Lib "user32" (ByVal bShow As Long)

ShowCursor& 0 'Скрыть курсор

ShowCursor& 1 'Показать курсор


Автор: Игорь Шаронов

Ведущий проекта "VBS"
Сергей Никифоров

 



http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное