Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
84 / 12 / 1
Регистрация: 24.01.2011
Сообщений: 309
1

mousmuve

18.09.2011, 20:14. Показов 529. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Такая проблема - при наведении на кнопку она должна перемещаться произвольно. Я это осуществил про помощи события mous muve. кроме этого при каждом перемещении должен срабатывать счетчик и=и+1. При определенных значениях счетчика должны выполнятся действия (при 1м, 5м, 10м и т. д.).
Проблема в том что значения и при наведении на кнопку резко перепрыгивают с 1 на 5 и на 10. при чем на 10м кнопка останавливается и если водить по ней то значения "и" "взлетают" с большой скоростью.
как сделать чтобы "и" увеличивалась только на единицу при каждом наведении?

Добавлено через 16 минут
вот код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command3_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
i = i + 1
If i = 1 Then
Image8.Visible = True
Command3.Left = Int((608 - 0 + 1) * Rnd + 0)
Command3.Top = Int((648 - 0 + 1) * Rnd + 0)
ElseIf i = 4 Then
Image8.Visible = True
Image8.Picture = Image3.Picture
Command3.Left = Int((608 - 0 + 1) * Rnd + 0)
Command3.Top = Int((648 - 0 + 1) * Rnd + 0)
ElseIf i = 10 Then
Image8.Visible = True
Image8.Picture = Image4.Picture
Command3.Left = 32
Command3.Top = 616
End If
 
Label1.Caption = i
End Sub ' äåéñòâèå ïðè íàâåäåíèè íà ëåâóþ êíîïêó
0
6807 / 2837 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
18.09.2011, 21:35 2
Цитата Сообщение от nitromiha Посмотреть сообщение
Проблема в том что значения и при наведении на кнопку резко перепрыгивают с 1 на 5 и на 10.
Так и должно быть - счетчик реагирует на движение мыши по кнопке, каждый пиксель +1. Проследить динамику можно поставив переменную на контроль:
Visual Basic
1
2
3
4
...
i = i + 1
Debug.Print i
...
Сразу станет видно, как меняются значения. Лучше в условиях поставить 10-50-100

А последнее условие
Visual Basic
1
2
3
ElseIf i > 100 Then
i=0
End If
Этим будет осуществятся сброс счетчика и всё повторится сначала.
0
18.09.2011, 21:35
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru