VB中label的左移,求助各位VB高手

使VB中label控件左移,但要求移动到左边界时,消失的label上的字立即从右侧出现,例如:百度知道这四个字,当“百”移出窗体,只剩“度知道”时,“百”字立即从窗体右侧... 使VB中label控件左移,但要求移动到左边界时,消失的label上的字立即从右侧出现,例如:百度知道这四个字,当“百”移出窗体,只剩“度知道”时,“百”字立即从窗体右侧出现。是不是用什么控件能实现此功能? 展开
 我来答
疯狂的老贾
2009-08-25 · TA获得超过514个赞
知道小有建树答主
回答量:331
采纳率:83%
帮助的人:143万
展开全部
不用控件,当然你也可以把代码封装成控件来用。

几位朋友说的方法都有一个共同的缺点就是百字移出的时候不能立即从右侧出现,而是要等所有字从左侧消失后才能出现,我在这里提供另外三种办法:1、把每个字放到不同的Label中,可以实现;2、用API把Text DrawText上去,不断清除不断重绘。同时用时钟来控制。3、直接用DirectDraw。比较这三种方法第一种实现起来最简单,查是字在移动时候会有闪烁感;第二种需要有一定的API开发基础;第三种效果最好,但需要有DirectX开发基础。我个人比较倾向于第二种。
板渡
2009-08-25 · TA获得超过560个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:101万
展开全部
以下代码能实现楼主想要的功能:
百度知道这四个字,当“百”移出窗体,只剩“度知道”时,“百”字立即从窗体右侧出现。
实现思路:
窗体上拖放四个label控件,label1到label4,其caption属性分别为“百”“度”“知”“道”。位置为并排放好。再拖放一个计时器控件,将其interval属性设置为100毫秒(这个可由楼主喜好的速度来设),在计时器触发事件中放置以下代码:

Private Sub Timer1_Timer()
If Label1.Left > 0 Then
Label1.Left = Label1.Left - 50
Else
Label1.Left = ScaleWidth
End If

If Label2.Left > 0 Then
Label2.Left = Label2.Left - 50
Else
Label2.Left = ScaleWidth
End If

If Label3.Left > 0 Then
Label3.Left = Label3.Left - 50
Else
Label3.Left = ScaleWidth
End If

If Label4.Left > 0 Then
Label4.Left = Label4.Left - 50
Else
Label4.Left = ScaleWidth
End If

End Sub

其中label(x).left>0是判断label起始位置,只要还没有移至最左端,label(x)就以50为单位左移,而当移至label(x)的左端距离小于0,将此距离赋值为整个窗体的宽度,就从右边出现。
我在VB6.0中运行没有任何错误,希望能帮到楼主!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7aed2e5
2009-08-25 · TA获得超过1030个赞
知道小有建树答主
回答量:795
采纳率:0%
帮助的人:489万
展开全部
Private Sub Form_Load()
Me.Show
Me.FontSize = 18 '窗体的字体大小要与label1的一样
Label1.FontSize = 18
Label1.Caption = "百度知道"
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Label1.Left = Label1.Left - 100
If Label1.Left + TextWidth("百度知道") / 4 < 0 Then
Label1.Left = Me.ScaleWidth
End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jcweiran
2009-08-25
知道答主
回答量:27
采纳率:0%
帮助的人:16.2万
展开全部
用两个label控件

当label1移到指定地方时,label2移动

当label2移到指定地方时,label1移动

如此反复即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
由芬菲p8
2009-08-25 · TA获得超过581个赞
知道小有建树答主
回答量:752
采纳率:0%
帮助的人:345万
展开全部
if label1.left= -(label1的长度) then label1.left=(窗体的宽度)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式