Per fare quello che chiedi è necessario l'utilizzo di un Timer.
Il Timer espone un evento (che si chiama Timer anch'esso) che viene rilasciato ad ogni scadenza del tempo impostato nella proprietà Interval del Timer.
In questo evento ti dovrai occupare di generare la riga e di mostrarla un carattrere alla volta nella ListBox.
Tra un carattere e l'altro potresti usare un ciclo di ritardo o, ancora meglio, la api Sleep.
In linea di massima:
codice:
Private Sub TuoTimer_Timer()
' Genero la stringa da mostrare
' [Generazione della stringa]
'Aggiungo la riga alla ListBox
TuaListBox.AddItem ""
'Creo un ciclo per aggiungere un carattere alla volta
For i = 1 To Len(s)
'Scrivo la stringa un carattere alla volta sull'Item appena aggiunto
TuaListBox.List(TuaListBox.NewIndex) = Mid(s, 1, i)
'Aspetto 100 ms
Sleep 100
DoEvents
Next
End Sub
La dichiarazione della Sleep, è questa:
codice:
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Il codice serve solo da esempio, l'ho scritto direttamente qui, per cui controllalo bene e studiane il funzionamento.
Boolean