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