vb编程中让窗体标题栏滚动的程序编写
书上写的是timer的办法PrivateSubTimer1_Timer()Form1.Caption=Space(20-j)&"查找与替换例"j=j+1Ifj>20The...
书上写的是timer的办法
Private Sub Timer1_Timer()
Form1.Caption = Space(20 - j) & "查找与替换例"
j = j + 1
If j > 20 Then j=0
End Sub
但是这个真的没有办法滚动,间隔设置的500,窗体大小6000*6000
于是我自己写了if语句,但是总说我缺少if
Private Sub Timer1_Timer()
If Me.ScaleLeft < 6000 Then Form1.Caption = " " + Form1.Caption
ElseIf Me.ScaleLeft >= 6000 Then Form1.Caption = "查找与替换例"
End If
End If
End Sub
如果把两句if拆开,VB只执行第一句,不再执行回去的程序。。。
求解! 展开
Private Sub Timer1_Timer()
Form1.Caption = Space(20 - j) & "查找与替换例"
j = j + 1
If j > 20 Then j=0
End Sub
但是这个真的没有办法滚动,间隔设置的500,窗体大小6000*6000
于是我自己写了if语句,但是总说我缺少if
Private Sub Timer1_Timer()
If Me.ScaleLeft < 6000 Then Form1.Caption = " " + Form1.Caption
ElseIf Me.ScaleLeft >= 6000 Then Form1.Caption = "查找与替换例"
End If
End If
End Sub
如果把两句if拆开,VB只执行第一句,不再执行回去的程序。。。
求解! 展开
展开全部
第一个程序是可以执行的,只是必须把j设为全局变量或静态变量,下面是静态变量的方法:
Private Sub Timer1_Timer()
Static j As Integer
Form1.Caption = Space(20 - j) & "查找与替换例"
j = (j + 1) Mod 20
End Sub
你自己搞的那个从思路和语法上都是完全错了,而且错得非常离谱,错到姥姥家了!
仅从语法上来看,应该这么改:
Private Sub Timer1_Timer()
If Me.ScaleLeft < 6000 Then
Form1.Caption = " " + Form1.Caption
ElseIf Me.ScaleLeft >= 6000 Then
Form1.Caption = "查找与替换例"
End If
End Sub
这样就没语法错误了,但正如我前面所述,由于思路错误,这段程序仍然是无法正常运行的。你究竟理解 Me.ScaleLeft 是什么意思么?
展开全部
你的代码中多出一个 End If,改成下面这样试试吧:
Private Sub Timer1_Timer()
If Me.ScaleLeft < 6000 Then
Form1.Caption = " " + Form1.Caption
ElseIf Me.ScaleLeft >= 6000 Then
Form1.Caption = "查找与替换例"
End If
End Sub
如果还有问题请继续追问哦
追问
可以显示了,但是滚过去就不再回来了,怎么感觉还是没有执行
ElseIf Me.ScaleLeft >= 6000 Then
Form1.Caption = "查找与替换例"
追答
Me.ScaleLeft 是窗体坐标系统中,窗体左边的横坐标值。
这个值应该与你的“标题滚动”没有任何关系。
在你的程序中,这个值应该是始终不变的。
所以,
ElseIf Me.ScaleLeft >= 6000 Then
Form1.Caption = "查找与替换例"
应该不会被执行的。
你可以试一下如下代码:
Private Sub Timer1_Timer()
If len(Form1.Caption) < 30 Then
Form1.Caption = " " + Form1.Caption
Else
Form1.Caption = "查找与替换例"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询