Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Новое сообщение без темы Добавлено: 26.08.02 02:02  

Автор вопроса:  CyRax  | Web-сайт: basicproduction.nm.ru | ICQ: 204447456 

Насчёт метки. Ты МоузеПоинтер не пробовал к нулю приравнять ?

Ответить

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

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



Вопросов: 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
Автор ответа:
 Lector



Вопросов: 4
Ответов: 5
 Профиль | | #2 Добавлено: 23.08.02 08:55
Да в том и дело, что там полно DoEvents и все равно срабатывает клик  :(

Ответить

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #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
Автор ответа:
 Lector



Вопросов: 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
Автор ответа:
 CyRax



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

ICQ: 204447456 

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

Хрен его знает.

Наверное нужно обнулять какой-нибудь там мышиный буфер.

Просмотри примеры и коды работы с мышью. Или  Mouse Functions в SDK.

Ответить

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



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

ICQ: 204447456 

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

Насчёт метки. Ты МоузеПоинтер не пробовал к нулю приравнять ?

Ответить

Страница: 1 |

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



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