Плавное изменение цвета

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fox_Malder
Новичок
Новичок
Аватара пользователя
 
Сообщения: 42
Зарегистрирован: 20.10.2005 (Чт) 7:25
Откуда: Россия, г. Астрахань

Плавное изменение цвета

Сообщение Fox_Malder » 11.11.2005 (Пт) 19:35

В приведенном фрагменте цвет текста и фона изменяется мгновенно. Как сделать так, чтобы такое изменение было плавным (это изменение происходило бы с некоторой видимой задержкой)?

Код: Выделить всё
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 SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long

Private Sub Command1_Click()
    Dim i As Integer
    Dim strString As String
   
    strString = "Привет!"
       
    For i = 0 To 10
        Form1.BackColor = RGB(0 + i * 25.5, 0 + i * 25.5, 255 - i * 25.5)
        Call SetTextColor(hdc, RGB(255 - i * 25.5, 255 - i * 25.5, 0))
        Call TextOut(hdc, 5, i * 20, strString, Len(strString))
       
    Next i
       
End Sub

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.11.2005 (Пт) 20:11

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 SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Dim i As Integer
Dim strString As String

Command1.Visible = False
strString = "Ïðèâåò!"

For i = 0 To 100
Form1.BackColor = RGB(0 + i * 2.55, 0 + i * 2.55, 255 - i * 2.55)
Call SetTextColor(hdc, RGB(255 - i * 2.55, 255 - i * 2.55, 0))
Call TextOut(hdc, 5, i * 2, strString, Len(strString))
Sleep 25
Next i

End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList