vb制作滚动字幕

用vb制作垂直滚动字幕和水平滚动字幕

Option Explicit
Dim Ls As Boolean
Private Sub Check1_Click()
 Label1.FontBold = IIf(Check1.Value = 1, True, False)
End Sub
Private Sub Check2_Click()
 Label1.FontItalic = IIf(Check2.Value = 1, True, False)
End Sub
Private Sub Check3_Click()
 Label1.FontUnderline = IIf(Check3.Value = 1, True, False)
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
Label1.Left = Picture1.Width
Timer1.Interval = 30
End Sub
Private Sub Form_Unload(Cancel As Integer)
Timer1.Enabled = False
End Sub
Private Sub Opt_sd_Click(Index As Integer)
Select Case Index
 Case 0: Timer1.Interval = 100
 Case 1: Timer1.Interval = 60
 Case 2: Timer1.Interval = 30
End Select
End Sub
Private Sub Opti_zt_Click(Index As Integer)
Select Case Index
 Case 0: Label1.FontName = "宋体"
 Case 1: Label1.FontName = "黑体"
 Case 2: Label1.FontName = "楷体"
 Case 3: Label1.FontSize = 9
 Case 4: Label1.FontSize = 12
 Case 5: Label1.FontSize = 16
End Select
End Sub
Private Sub Timer1_Timer()
If Ls Then Exit Sub
Ls = True
DoEvents
If Opt_fx(0).Value Then  '向左
  If Label1.Left >= Picture1.Width Then
     Label1.Left = -Label1.Left
  End If
  Label1.Left = Label1.Left + 50
ElseIf Opt_fx(1).Value Then  '向右
  If Label1.Left <= (-Label1.Width) Then
     Label1.Left = Picture1.Width
  End If
  Label1.Left = Label1.Left - 50
Else  '摇头
  If Label1.Left + Label1.Width >= Picture1.Width Then Opt_fx(2).Tag = "左"
  If Label1.Left <= 0 Then Opt_fx(2).Tag = "右"
  If Opt_fx(2).Tag = "右" Then
     Label1.Left = Label1.Left + 50
  Else
     Label1.Left = Label1.Left - 50
  End If
End If
Ls = False
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2007-03-03
用timer控件来做,如果是垂直滚动的话,只要减少(向上滚)或增加(向下滚)text控件的top属性的值就行了.如果是水平滚动的话,可以减少(向左滚)或增加(向右滚)text控件的left属性。
第2个回答  2007-03-14
Dim i As Integer
Private Sub Form_Load()
Timer1.Interval = 100'滚动频率
End Sub
Private Sub Timer1_Timer()
Label1 = Space(20 - i) & "jajajajaj"'水平滚动
Label2 = Space(20 - i) & "j a j a j a j a j"
'垂直滚动,字符间+空格,达到换行效果
If i < 20 Then
i = i + 1
Else
i = 1
End If
End Sub
这种滚动 需要设置好label1的height和label2的width,而且只支持1行的字幕
我用的是我、英文字母,labe1 的height 为190
labe2 的width 为135
如果是中文的字幕要自己调!
第3个回答  2007-03-03
这谁都会
有没有更好的呢??
这种方法容易造成‘卡’的现象
第4个回答  2007-03-03
用一个TIMER控件
设置间隔时间
然后在TIMER的事件里加上
label1.left=label1.left-50 (50可以按自己的要求设置)
if label1.left+label1.width<=form1.left then
label1.left=form1.left+form1.width
end if本回答被提问者采纳

用vb代码如何实现滚动字幕
PrivateSubForm_Load()'\/\/预先设定要显示的内容 content="滚动字幕示例控制文本的循环滚动"'\/\/获取内容长度 length=Len(content)'\/\/label1控件,手动调整 '\/\/接着需要选择字体大小 SetMe.Font=Label1.Font'\/\/方便借用Form.TextHeight方法 Dimfont_heightAsLong,font_widthAsLong,sizeAsLong size=Label...

vb设计一条滚动的广告字幕,要求设计界面,编写代码
方法如下:添加一个Label标签,并设置背景为透明,放置于窗体最右边,用于显示字幕;添加一个Timer控件,间隔属性自行设置,用于制作滚动效果;在Timer事件中,添加代码,使Label标签的left属性,每次减少100,当小于0时,回到初始值。这样,就制作出了字幕滚动效果。

VB 编一上下滚动的字幕程序,利用滚动条控制标签动的速度
Picture1.Print "滚动字幕2"Picture1.PSet (x + 200, y + 400)Picture1.Print "滚动字幕3"End Sub

VB设计滚动字幕板,要求控制面板可以改变颜色,具体情况见补充_百度知 ...
Label3.Caption = "滚动速度:"Slider1.Value = 5 Text1.Text = "请直接在此输入字幕文字" Frame3.Caption = "选择字幕"For i = 0 To 7Check2(i).Caption = CStr(i + 1)Next Frame4.Caption = "屏幕滚动方向控制"Option2(0).Caption = "从左到右"Option2(1).Caption = "从右到左"Option2(2...

vb 滚动字幕代码
加入一个命今按钮:command1.加入一个文本框:text1.加入一个时间控件:timer1.加入一个横向的滚动条:hscroll1.把:min属性设为2,max属性设为100,smallchange设为1。下面代码:Private Sub Command1_Click()Timer1.Enabled = True Timer1.Interval = 10 End Sub Private Sub Form_Load()Command...

求vb制作字幕滚动条代码
Dim z As Boolean, y As Boolean, zy As Boolean '申明三种状态按钮 Private Sub Form_Load()Label1.Caption = "滚动字幕"Label1.FontSize = 30 End Sub Private Sub Option1_Click()z = True: y = False: zy = False '从左向右的状态按钮属性 End Sub Private Sub Option2_Click()y ...

谁有vb做的滚动字幕的程序代码啊,急用呀,谢谢了
'添加一个TextBox框 将其BorderStyle设置为0 将BackColor设置为 系统选项卡下的 按钮表面 将MultiLine设置为True Text属性中加入N行文本 注意不要让文本超过Text框 Visable设置为False 一个Timer框 Interval设置成50 示例代码如下:Private Sub Form_Click()Text1.Top = Form1.ScaleHeight Text1....

用VB编写简单的程序,实现字体的上下滚动
在窗体上键timer控件一个,label一个复制以下代码:label用来写上你需要的字幕 Option Explicit Private Sub Form_Load()Timer1.Interval = 100 Label1.Top = Me.ScaleHeight End Sub Private Sub Timer1_Timer()Label1.Move Label1.Left, Label1.Top - 50 If Label1.Top + Label1.Height < 0...

vb如何让字幕一行一行向上移动
Timer1.Enabled = False '鼠标以上去时,字幕停止卷动 Text1.ForeColor = vbRed End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Timer1.Enabled = True '鼠标移开Text1后,字幕继续卷动 Text1.ForeColor = vbBlue End Sub Priv...

Vb滚动字幕程序代码 急
1、在窗体上画上计时器控件timer1 和 label控件label1.2、设置timer1的enable属性为false,interval属性为500,即500毫秒执行一次 3、设置label1的autosize属性为true,表示label1根据caption属性的内容自动调整大小。4、在代码窗口里,写出以下代码:Dim ChuShiWeiZhi As Integer'表示label1的初始位置 Privat...

相似回答