Image & Mouse_Click

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Image & Mouse_Click

Сообщение Scuder » 21.04.2004 (Ср) 14:35

Как бы объяснить.. :-)
В общем, в программе вместо кнопок используются Images. Соответственно, обрабатываются клики мышкой. Так вот, 2 варианта:
1. Если БЫСТРО, БЕЗ ПАУЗ, нажимать на одну и ту же картинку, происходит какая-то непонятная задуржка между обработкай кликов.
2. Если так же быстро нажимать на 2 разные картинки, то никаких задержек нет.

Кто-нибудь может объяснить с чем это связано и как с этим бороться?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.04.2004 (Ср) 14:58

Если БЫСТРО, БЕЗ ПАУЗ, нажимать на одну и ту же картинку, происходит какая-то непонятная задуржка между обработкай кликов

Происходит DoubleClick.
Lasciate ogni speranza, voi ch'entrate.

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 21.04.2004 (Ср) 15:14

А нельзя было по-корректней это сказать?
А то сразу захотелось в зеркало посмотреть, не появились ли ослиные уши.. ;-)

Thx. :-)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.04.2004 (Ср) 15:22

Ты кликаешь первый раз, происходит MouseDown, MouseUp, Click.
Ты кликаешь второй раз. Если это делать медленно, то происходит опять MouseDown, MouseUp, Click. Но если сделать слишком быстро, то будет MouseDown, DblClick, MouseUp, событие Click не выполнится (т.к. выполнится DblClick). Выход - использовать MouseDown или MouseUp, но с флаговыми переменными (чтобы убедиться, что кнопка мыши была отпущена в том же месте, где и нажималась).
Lasciate ogni speranza, voi ch'entrate.

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 21.04.2004 (Ср) 15:34

Да я понял, alibek! Это я шутю так.. :-)

Не, у меня там всё равно функция вызывается. Одной строкой. Поэтому я то же самое в DblClick продублировал..

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 22.04.2004 (Чт) 13:10

Незнаю почему но работает вот так:
SendKeys "A" :wink:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, PetalBot, Yandex-бот и гости: 4

    TopList