Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: не работает form mouse move :( (чайник) Добавлено: 10.04.03 20:47  

Автор вопроса:  Trusishka | ICQ: 229751913 

У меня кнопка почти во всю форму  - кантик 5mm. Я делаю такую штуку - загрузил в ресурсы две bmp синюю и желтую картинку на кнопку. Когда я делаю над своей синей кнопкой command1 mouse move, то грузится желтая картинка и кнопка желтеет, а когда убираю курсор делаю form mouse move загружаю синюю картинку и возвращается синяя надпись. Все вроде работает, но если я вожу курсором быстро то команда form mouse move не успевает срабатывать!  Она остается желтой. Возможно слишком маленькое поле формы вокруг? Делал больше - стало лучше,  но все равно не работает как надо. Варианты сделать маленькую кнопочку на огромной форме мне не подходит :((. Может у вас есть какие-либо варианты?

Ответить

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

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



Вопросов: 7
Ответов: 37
 Web-сайт: www.littlehumans.nm.ru
 Профиль | | #1
Добавлено: 10.04.03 23:10

 

Есть извращенский способ!!!

 

Как-то у

меня тоже возникла такая же проблема.

Решил я ее не совсем удачным методом,

но он все же сработал. Я поставил

таймер, в котором проверялось, если

мышь находится вне формы, то тогда

кнопка устанавливается синей (для

вашего случая). То есть, если уводить

курсор из формы слишком быстро и

событие form_mousemove не срабатывает, то при

данной проверки в таймере кнопка

будет менять свой цвет.

fallen

Ответить

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



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 11.04.03 00:01

Дааа уж... Метод действительно неудачный...Ресурсы сжираются в неограниченном количестве..Гораздо эффективнее API использовать...

Ответить

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



Вопросов: 7
Ответов: 37
 Web-сайт: www.littlehumans.nm.ru
 Профиль | | #3
Добавлено: 11.04.03 00:14

 
  Я бы не

сказал, что ресурсы сжираются прям уж в

НЕОГРАНИЧЕННОМ количестве. А не

подскажешь, как данную проблемму

решить с помощью API?

 
 

Ответить

Номер ответа: 4
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #4 Добавлено: 11.04.03 02:05

Идея проста! Через API получаешь координаты мыши,Далее узнаешь координаты контрола(в клиентской системе координат) и сравниваешь их... Если мышА находится за пределами контрола(а не формы как у тебя) значит MouseOut...

А если необходимы более подробные сведение, то я состряпал примерчик и отправил админам.Я думаю,через пару дней они его выкинут на сайт-посмотришь.

А в твоем решении ресурсы все-таки сжираются, так как таймер ПОСТОЯННО проверяет  положение мыши...И как следствие - помаргивание курсора..Так же,как мне кажется,было заметно запаздывание при смене картинки на первоначальную... 

Ответить

Номер ответа: 5
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #5
Добавлено: 11.04.03 21:20

Ты опоздал.

http://www.vbnet.ru/sample/

Дата: 20 марта 2003 г. | Автор: CyRax

Возможности метки (4 Kb) Создаём метку и в таймере отлавливаем выход курсора мыши за её пределы

Ответить

Номер ответа: 6
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #6
Добавлено: 12.04.03 04:19

Помоему все просто

 

Помоему здесь все просто.

Узнаем координаты мыши, узнаем позицию контрола на форме и позицию формы на экране,

сравниваем, прибовляем, вычитаем, умножаем, делим и все :)

 

Хотя влюбом случае придется использовать таймер...

 

Ответить

Страница: 1 |

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



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