Страница: 1 |
У меня кнопка почти во всю форму - кантик 5mm. Я делаю такую штуку - загрузил в ресурсы две bmp синюю и желтую картинку на кнопку. Когда я делаю над своей синей кнопкой command1 mouse move, то грузится желтая картинка и кнопка желтеет, а когда убираю курсор делаю form mouse move загружаю синюю картинку и возвращается синяя надпись. Все вроде работает, но если я вожу курсором быстро то команда form mouse move не успевает срабатывать! Она остается желтой. Возможно слишком маленькое поле формы вокруг? Делал больше - стало лучше, но все равно не работает как надо. Варианты сделать маленькую кнопочку на огромной форме мне не подходит :((. Может у вас есть какие-либо варианты?
Есть извращенский способ!!! Как-то у меня тоже возникла такая же проблема. Решил я ее не совсем удачным методом, но он все же сработал. Я поставил таймер, в котором проверялось, если мышь находится вне формы, то тогда кнопка устанавливается синей (для вашего случая). То есть, если уводить курсор из формы слишком быстро и событие form_mousemove не срабатывает, то при данной проверки в таймере кнопка будет менять свой цвет. fallen Дааа уж... Метод действительно неудачный...Ресурсы сжираются в неограниченном количестве..Гораздо эффективнее API использовать... сказал, что ресурсы сжираются прям уж в НЕОГРАНИЧЕННОМ количестве. А не подскажешь, как данную проблемму решить с помощью API? Идея проста! Через API получаешь координаты мыши,Далее узнаешь координаты контрола(в клиентской системе координат) и сравниваешь их... Если мышА находится за пределами контрола(а не формы как у тебя) значит MouseOut... А если необходимы более подробные сведение, то я состряпал примерчик и отправил админам.Я думаю,через пару дней они его выкинут на сайт-посмотришь. А в твоем решении ресурсы все-таки сжираются, так как таймер ПОСТОЯННО проверяет положение мыши...И как следствие - помаргивание курсора..Так же,как мне кажется,было заметно запаздывание при смене картинки на первоначальную... Ты опоздал. Дата: 20 марта 2003 г. | Автор: CyRax Возможности метки (4 Kb) Создаём метку и в таймере отлавливаем выход курсора мыши за её пределы Помоему все просто Помоему здесь все просто. Узнаем координаты мыши, узнаем позицию контрола на форме и позицию формы на экране, сравниваем, прибовляем, вычитаем, умножаем, делим и все Хотя влюбом случае придется использовать таймер... Страница: 1 |
Вопрос: не работает form mouse move :( (чайник)
Добавлено: 10.04.03 20:47
Автор вопроса: Trusishka | ICQ: 229751913
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Вопросов: 7
Ответов: 37
Web-сайт:
Профиль | | #1
Добавлено: 10.04.03 23:10
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 11.04.03 00:01
Номер ответа: 3
Автор ответа:
Вопросов: 7
Ответов: 37
Web-сайт:
Профиль | | #3
Добавлено: 11.04.03 00:14
Я бы не
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 11.04.03 02:05
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 11.04.03 21:20
Номер ответа: 6
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #6
Добавлено: 12.04.03 04:19