Постепенный вывод текста в Label - VB
Формулировка задачи:
Добрый день. Необходимо реализовать плавный вывод текста на Label (на него, т.к. необходимо прозрачный фон обязательно).
Но 2 проблемы:
1. На некоторых скоростях текст мерцает.
2. Максимальной скорости не хватает, то есть хочется сделать и быстрее вывод текста.
Подскажите как можно решить эти проблемы. Или может другой объект для этого взять?
Решение задачи: «Постепенный вывод текста в Label»
textual
Листинг программы
Option Explicit Private Declare Function DrawText Lib "user32" Alias "DrawTextW" (ByVal hdc As Long, ByVal lpStr As Long, ByVal nCount As Long, lpRect As Any, ByVal wFormat As Long) As Long Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As Any) As Long Private Const DT_WORDBREAK As Long = &H10 Dim WithEvents tmr As Timer Dim WithEvents spd As HScrollBar Dim symb As Single Private Const s = "ГќГІГ* ГЈГ«Г*ГўГ* Г§Г*Г*êîìèò çðèòåëÿ Г± ìèðîì «Higurashi no Naku Koro ni»." Private Sub Form_Load() AutoRedraw = True Set tmr = Controls.Add("VB.Timer", "tmr") Set spd = Controls.Add("VB.HScrollbar", "spd") tmr.Interval = 32 spd.Move 0, ScaleHeight - spd.Height, ScaleWidth spd.Visible = True: spd.Min = 1: spd.Max = 100 Font.Size = 24 End Sub Private Sub tmr_Timer() Dim rect(3) As Long, reset As Boolean Cls If symb >= Len(s) Then symb = Len(s): reset = True GetClientRect hwnd, rect(0) DrawText hdc, StrPtr(s), symb, rect(0), DT_WORDBREAK symb = symb + spd.Value / 20 Refresh If reset Then symb = 0 End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д