При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана - VB
Формулировка задачи:
Разработать программу, изображающую на экране крупно слово ТЕСТ. При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана и обратно, а также сверху вниз и обратно. При помощи функциональных клавиш обеспечить смену цвета букв в слове.
Решение задачи: «При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана»
textual
Листинг программы
Option Explicit Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long 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 Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Const GWL_STYLE As Long = (-16&) Private Sub Form_Click() Unload Me End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyLeft: Me.Left = Me.Left - Screen.TwipsPerPixelX: If Me.Left < 0 Then Me.Left = 0 Case vbKeyRight: Me.Left = Me.Left + Screen.TwipsPerPixelX: If Me.Left + Me.Width > Screen.Width Then Me.Left = Screen.Width - Me.Width Case vbKeyUp: Me.Top = Me.Top - Screen.TwipsPerPixelY: If Me.Top < 0 Then Me.Top = 0 Case vbKeyDown: Me.Top = Me.Top + Screen.TwipsPerPixelY: If Me.Top + Me.Height > Screen.Height Then Me.Top = Screen.Height - Me.Height Case vbKeyReturn: Me.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) End Select End Sub Private Sub Form_Load() Dim hRgn As Long SetWindowLong Me.hwnd, GWL_STYLE, &H6000000 Me.FontName = "Times New Roman" Me.FontSize = 72 Me.Width = Me.TextWidth("ÒÅÑÒ") Me.BackColor = vbBlue BeginPath Me.hdc TextOut Me.hdc, 0, 0, "ÒÅÑÒ", 4 EndPath Me.hdc hRgn = PathToRegion(Me.hdc) SetWindowRgn Me.hwnd, hRgn, True DeleteObject hRgn End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д