При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана - VB

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

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

Разработать программу, изображающую на экране крупно слово ТЕСТ. При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана и обратно, а также сверху вниз и обратно. При помощи функциональных клавиш обеспечить смену цвета букв в слове.

Решение задачи: «При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана»

textual
Листинг программы
  1. Option Explicit
  2. Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
  3. Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
  4. Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
  5. Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
  6. Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
  7. Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  8. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  9. Private Const GWL_STYLE As Long = (-16&)
  10. Private Sub Form_Click()
  11.     Unload Me
  12. End Sub
  13.  
  14. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  15.     Select Case KeyCode
  16.     Case vbKeyLeft: Me.Left = Me.Left - Screen.TwipsPerPixelX: If Me.Left < 0 Then Me.Left = 0
  17.     Case vbKeyRight: Me.Left = Me.Left + Screen.TwipsPerPixelX: If Me.Left + Me.Width > Screen.Width Then Me.Left = Screen.Width - Me.Width
  18.     Case vbKeyUp: Me.Top = Me.Top - Screen.TwipsPerPixelY: If Me.Top < 0 Then Me.Top = 0
  19.     Case vbKeyDown: Me.Top = Me.Top + Screen.TwipsPerPixelY: If Me.Top + Me.Height > Screen.Height Then Me.Top = Screen.Height - Me.Height
  20.     Case vbKeyReturn: Me.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
  21.     End Select
  22. End Sub
  23.  
  24. Private Sub Form_Load()
  25.     Dim hRgn As Long
  26.     SetWindowLong Me.hwnd, GWL_STYLE, &H6000000
  27.     Me.FontName = "Times New Roman"
  28.     Me.FontSize = 72
  29.     Me.Width = Me.TextWidth("ÒÅÑÒ")
  30.     Me.BackColor = vbBlue
  31.     BeginPath Me.hdc
  32.     TextOut Me.hdc, 0, 0, "ÒÅÑÒ", 4
  33.     EndPath Me.hdc
  34.     hRgn = PathToRegion(Me.hdc)
  35.     SetWindowRgn Me.hwnd, hRgn, True
  36.     DeleteObject hRgn
  37. End Sub

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


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

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

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

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

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

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