Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ограничить Mouse move Добавлено: 05.07.10 17:33  

Автор вопроса:  ilgar
Всем привет
Как можно делать так, чтобы мышка не вышла за пределы конкретного picturebox-a или каково-то панела в VB.net windows Application.
Или еще труднее : калибровать мыш к этому конкретному...

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Dark Engine



ICQ: 343191665 

Вопросов: 51
Ответов: 98
 Web-сайт: www.wentas.2bb.ru
 Профиль | | #1
Добавлено: 13.07.10 17:23
Насчет VB.NET не скажу, но в VB 6 делалось как-то так:
Брались абсолютные координаты контрола (то есть к координатам формы прибавлялись координаты контрола). Потом через API ловились координаты мыши и через полученные абсолютные координаты и свойства контрола Height и Width отслеживалось (по таймеру, например), находится ли курсор в пределах контрола. Дальше сложнее, если не находится - через API курсор за шкварник передвигался в нужный диапазон, то есть принудительно выдавались координаты ему... но принципу
  1. if MX>NMX then MX=NMX: if MX<NNX then MX=NNX
, где MX - Х-координата курсора, NMX - правый предел (абсолютная Х-координата контрола + его width), NNX - левый предел (просто абсолютная Х-координата контрола). Калибровка из той же серии, только, если в центр контрола, точка установки - абсолютная координата + половина ширины/высоты контрола.

Ответить

Номер ответа: 2
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 14.07.10 02:32
На .NET можно сделать хуками.

Я делал через некую WindowsHookLib, скорее всего с codeproject.com. Тебе нужно будет просто обрабатывать событие мышки и, если надо запретить перемещение в каком-то направлении, ставишь e.Cancel=true и все. Перемещения не будет.

Ответить

Номер ответа: 3
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #3
Добавлено: 14.07.10 03:52
Это делается одной API-функцией. Только вот не помню какой.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам