Остановить движение окружности нажатием клавиши - VB

Узнай цену своей работы

Формулировка задачи:

подскажите пожалуйста, что нужно в этой программе подкаректировать, чтобы при нажатии, например, F3, окружность либо оставляла либо не оставляла след? спасибо заранее большое. Я уже не знаю что придумать:-)
Листинг программы
  1. Option Explicit
  2. Dim x, y, a, r As Integer
  3.  
  4. Private Sub Form_Load()
  5. Scale (0, 100)-(100, 0)
  6. r = InputBox("Задайте радиус:-)")
  7. End Sub
  8. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  9. Circle (x, y), r, vbRed, , , 0.5
  10. Label1 = r
  11. a = 5
  12. Select Case KeyCode:
  13. Case vbKeyRight: x = x + a
  14. If x > (100 - r) Then x = 100 - r
  15. If (x < (100 - r)) And (x = (100 - r)) Then x = x + r
  16. Case vbKeyLeft: x = x - a
  17. If x < r Then x = r
  18. If (x > r) And (x = r) Then x = x - r
  19. Case vbKeyDown: y = y - a
  20. If y < r Then y = r
  21. If (y > r) And (y = r) Then y = y - r
  22. Case vbKeyUp: y = y + a
  23. If y > (100 - r) Then y = 100 - r
  24. If (y < (100 - r)) And (y = (100 - r)) Then y = y + r
  25. Case vbKeyF2: a = InputBox("На сколько увеличим радиус??")
  26. r = r + (a)
  27. End Select
  28. End Sub

Решение задачи: «Остановить движение окружности нажатием клавиши»

textual
Листинг программы
  1. Option Explicit
  2. Dim x, y, a, r As Integer
  3. Dim tr As Boolean
  4.  
  5.  
  6. Private Sub Form_Load()
  7. Scale (0, 100)-(100, 0)
  8. r = InputBox("Задайте радиус:-)")
  9. End Sub
  10.  
  11. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  12. If KeyCode = 114 Then tr = True ' F3
  13. If KeyCode = 27 Then tr = False  ' Esc
  14. If tr = True Then Me.Cls
  15. Circle (x, y), r, vbRed, , , 0.5
  16.  
  17. Label1 = r
  18. a = 5
  19. Select Case KeyCode:
  20.  
  21. Case vbKeyRight: x = x + a
  22. If x > (100 - r) Then x = 100 - r
  23. If (x < (100 - r)) And (x = (100 - r)) Then x = x + r
  24.  
  25. Case vbKeyLeft: x = x - a
  26. If x < r Then x = r
  27. If (x > r) And (x = r) Then x = x - r
  28.  
  29. Case vbKeyDown: y = y - a
  30. If y < r Then y = r
  31. If (y > r) And (y = r) Then y = y - r
  32.  
  33. Case vbKeyUp: y = y + a
  34. If y > (100 - r) Then y = 100 - r
  35. If (y < (100 - r)) And (y = (100 - r)) Then y = y + r
  36.  
  37. Case vbKeyF2: a = InputBox("На сколько увеличим радиус??")
  38. r = r + (a)
  39.  
  40. End Select
  41. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.273 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут