| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
绝地游戏外挂辅助教学千里之行 始于足下
共有 207 人关注过本帖
标题:求大神帮解决(滚动字幕)
只看楼主 收藏
wangsiraaa
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-11-28
结帖率:0
  已结贴   问题点数:20  回复次数:4   
求大神帮解决(滚动字幕)
参照程序效果图进行界面设计;将“首届世界互联网大会”字幕从左到右进行循环滚动。要求:(1)程序运行的初始状态是字幕“首届世界互联网大会”从左到右水平循环滚动,并在滚动过程中,字幕颜色红、蓝交替变换显示;(2)点击“演示”按钮,重回程序初始状态;(3)点击“暂停”按钮,字幕暂停,按钮名称变为“开始”;点击“开始”按钮,字幕继续滚动,按钮名称变为“暂停”;(4)点击“退出”按钮,弹出提示框,点击确认退出程序。
附件: 您没有浏览附件的权限,请 登录注册
2017-11-28 10:17
xyxcc177
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:16
帖 子:87
专家分:381
注 册:2017-7-8
  得分:7 
放入一个时间控件,然后让文本标签的left逐渐增大就可以实现.
2017-11-28 17:53
wangsiraaa
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-11-28
  得分:0 
回复 2楼 xyxcc177
有2个标签的,第一个标签移到最右边时,另外一个标签要从左边开始进入。也就是要求右边移出去的字要在左边显示出来。我不知道这么表达您能理解不。
2017-11-29 08:01
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:189
帖 子:4068
专家分:25057
注 册:2008-10-15
  得分:7 
以下是引用wangsiraaa在2017-11-29 08:01:19的发言:

有2个标签的,第一个标签移到最右边时,另外一个标签要从左边开始进入。也就是要求右边移出去的字要在左边显示出来。我不知道这么表达您能理解不。


只要1个标签,到了最右边时,就移到最左边还没出现时。

大概就是这样写的,你要转换成具体的对象和属性
if 标签.left >=窗体.宽度 then 标签.left= -标签.宽度

突然发现,你是直接显示在窗体上的。修改编辑一下。


授人于鱼,不如授人于渔
早已停用QQ了
2017-11-29 08:33
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:6
帖 子:41
专家分:217
注 册:2016-3-10
  得分:7 

你试试,源代码如下:
Public bz

Private Sub Form_Load()
   Form_Resize
  Command2.Caption = "暂停"
  bz = 0
  Timer1.Interval = 500
End Sub

Private Sub Form_Resize()
  width1 = Form1.Width
  hight1 = Form1.Height
  Command1.Top = hight1 - 900
  Command2.Top = hight1 - 900
  Command3.Top = hight1 - 900
  Command1.Left = 0
  Command2.Left = Int(width1 / 3)
  Command3.Left = Int(width1 / 3) * 2
  Command1.Width = Int(width1 / 3)
  Command2.Width = Int(width1 / 3)
  Command3.Width = Int(width1 / 3)
  Label1.Top = hight1 / 2 - 500
  Label1.Left = width1 / 2 - 2000
End Sub

Private Sub Command1_Click()
  Form_Resize
  Timer1.Interval = 500
End Sub

Private Sub Command2_Click()
 If Command2.Caption = "暂停" Then
   Timer1.Interval = 0
   Command2.Caption = "开始"
  Else
   Timer1.Interval = 500
   Command2.Caption = "暂停"
  End If
End Sub
Private Sub Command3_Click()
  MsgBox "按确定退出", 0, ""
  End
End Sub

Private Sub Timer1_Timer()
  Select Case bz
  Case 0:
    Label1.ForeColor = vbRed
    If Label1.Left + Label1.Width > Form1.Width Then
      Label1.Left = 0
    Else
      Label1.Left = Label1.Left + 300
    End If
    bz = 1
  Case 1:
    Label1.ForeColor = vbBlue
    If Label1.Left + Label1.Width > Form1.Width Then
      Label1.Left = 0
    Else
      Label1.Left = Label1.Left + 300
    End If
    bz = 0
  End Select
End Sub



[此贴子已经被作者于2017-11-29 20:06编辑过]

附件: 您没有浏览附件的权限,请 登录注册
2017-11-29 20:01







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.088248 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved