vb制作滚动字幕

用vb制作垂直滚动字幕和水平滚动字幕... 用vb制作垂直滚动字幕和水平滚动字幕 展开
 我来答
安全管理人12345gf
2015-12-27 · TA获得超过5523个赞
知道大有可为答主
回答量:5473
采纳率:62%
帮助的人:1224万
展开全部
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

博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生... 点击进入详情页
本回答由博思aippt提供
匿名用户
2007-03-03
展开全部
用timer控件来做,如果是垂直滚动的话,只要减少(向上滚)或增加(向下滚)text控件的top属性的值就行了.如果是水平滚动的话,可以减少(向左滚)或增加(向右滚)text控件的left属性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不爱到爱
2007-03-14 · TA获得超过296个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:314万
展开全部
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
如果是中文的字幕要自己调!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友44b91f05c
2007-03-03 · TA获得超过147个赞
知道小有建树答主
回答量:524
采纳率:0%
帮助的人:394万
展开全部
这谁都会
有没有更好的呢??
这种方法容易造成‘卡’的现象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
烂掉の萝卜49d6
2007-03-03 · TA获得超过679个赞
知道小有建树答主
回答量:1233
采纳率:100%
帮助的人:951万
展开全部
用一个TIMER控件
设置间隔时间
然后在TIMER的事件里加上
label1.left=label1.left-50 (50可以按自己的要求设置)
if label1.left+label1.width<=form1.left then
label1.left=form1.left+form1.width
end if
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式