文字をスクロール表示する方法

◆概要

このページは、Visual Basic 6.0で文字をスクロール表示する方法について記載しています。


文字を描画したピクチャボックスの表示位置を少しずつずらすことで、文字がスクロールしているような効果を得られます。

◆Sample code


フォームにピクチャボックスコントロール(Picture1)、スクロール文字を描画するピクチャボックスコントロール(Picture2)、タイマーコントロール(Timer1)、スクロール文字を設定するテキストボックスコントロール(Text1)、スクロール開始用コマンドボタン(Command1)をフォームに貼り付けてから、次のコードをフォームモジュールにコピーしてください。

フォームの設計 標準モジュール

Option Explicit

Private Sub Command1_Click()
'ピクチャボックスにスクロール文字を描画し、
'大きさとスクロール開始位置を設定
'スクロール文字用ピクチャボックスの設定
    With Picture2
        'ピクチャボックスの高さと幅を
        'スクロールする文字のサイズに合わせる
        .Height = .TextHeight(Text1.Text)
        .Width = .TextWidth(Text1.Text)
        
        'スクロール開始位置の設定
        .Left = (Picture1.ScaleWidth - .Width) / 2
        .Top = Picture1.ScaleHeight
        
        'スクロール文字の描画
        .AutoRedraw = True
        .Cls
        Picture2.Print Text1.Text
        .AutoRedraw = False
        
        'ピクチャボックスを表示
        .Visible = True
    End With

    'タイマーを有効化
    Timer1.Enabled = True

End Sub

Private Sub Form_Load()
    '枠用ピクチャボックスの設定
    Picture1.BackColor = vbBlack

    'スクロール文字用ピクチャボックスの設定
    With Picture2
        .BorderStyle = 0
        .BackColor = Picture1.BackColor
        .ForeColor = vbGreen
        With .Font
            .Bold = True
            .Size = 16
        End With
        .Visible = False
    End With

    'タイマーコントロールの設定
    With Timer1
        .Enabled = False
        .Interval = 10
    End With

    'スクロール文字の設定
    Text1.Text = "Visual Basic 6.0" & vbNewLine & "文字をスクロールする"

    'コマンドボタンの設定
    With Command1
        .Caption = "Scroll"
        .Default = True
    End With
End Sub

Private Sub Timer1_Timer()
    'タイマーイベントが発生するたびに、
    'スクロール文字用ピクチャボックスの位置を上方向にずらす
    With Picture2
        If .Top < -.Height Then
            '枠用ピクチャボックスの上端から
            'スクロール文字が消えたら
            '最初の描画位置に戻す
            .Top = Picture1.ScaleHeight
        Else
            '10Twipsずつ上方向へ描画位置をずらす
            .Top = .Top - 10
        End If
    End With
End Sub
  

▼ページトップへ