При помощи клавиш со стрелками обеспечить автоматическое перемещение слова вправо до соприкосновения с границей экрана - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д