Страница: 1 |
Вопрос: Новое сообщение без темы | Добавлено: 26.08.02 02:02 |
Автор вопроса: ![]() ![]() |
Насчёт метки. Ты МоузеПоинтер не пробовал к нулю приравнять ? |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 2 |
Профиль | Цитата | #1 | Добавлено: 23.08.02 08:48 |
Ответ на первый вопрос: вероятно после того, как кнопка стала неактивной, и программа начала выполнять какие-либо действия, она "зависла", т.е. перестала на время работы реагировать на ко[sensored]ы пользователя. Поэтому сообщения о щелчках на кнопке не обрабатывались это самой кнопкой, а добавились в буфер сообщений. Они были обработаны после окончания работы программы, тогда когда кнопка стала активной. Вот и кажется, что щелчек самопроизвольный! Используй во время работы твоей программы оператор DoEvents - тогда зависания программы не будет и кнопка будет работать нормально. Второй вопрос: чтобы сделать курсор видимым/невидимым испольуй функцию Private Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long bShow = 0 - курсор невидим, bShow = Not 0 - видим |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 5 |
Профиль | Цитата | #2 | Добавлено: 23.08.02 08:55 |
Да в том и дело, что там полно DoEvents и все равно срабатывает клик ![]() |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 23.08.02 23:38 |
Попробуй поставить счётчик нажатий. Ну типа там Dim OneClick as Boolean OneClick=False Sub Command1_Click() if OneClick=True then exit sub If OneClick=False then OneClick=True: 'Далее твой код End Sub
Надеюсь уловил смысл ? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 5 |
Профиль | Цитата | #4 | Добавлено: 23.08.02 23:46 |
Да так и делаю. Примерно так: Sub Command1_Click() If Game = True Then Exit Sub Game = True 'какие-то действия Game = False End Sub
А также делаю еще проверки на .Enabled и прочее. Все равно клик передается на кнопку только тогда, когда все действия в кнопке заканчиваются и все мои флаги оказываются в пролете. То есть винда просто откладывает событие клика до тех пор, пока действия по кнопке не заканчиваются. Как это обойти не имею не малейшего представления |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 26.08.02 01:59 |
Хрен его знает. Наверное нужно обнулять какой-нибудь там мышиный буфер. Просмотри примеры и коды работы с мышью. Или Mouse Functions в SDK. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 26.08.02 02:02 |
Насчёт метки. Ты МоузеПоинтер не пробовал к нулю приравнять ? |
Страница: 1 |
|