在Vb6中从右向左设置帧宽度的动画

在Vb6中从右向左设置帧宽度的动画,vb6,Vb6,当某个特定文本框失去焦点时,我会向用户显示一些股票详细信息,因为表单I上的空间较少,所以我使用了一个框架。我希望增加股票标签所在框架的宽度,现在我希望它从右到左随时间戳增加。由于框架位于右侧,因此必须从右侧开始增加宽度。我在代码段上找不到任何属性来执行此操作。我想知道任何人有什么想法,请帮助我 我使用了正常的宽度增加 If FrameYarnDtl.Width = 15 Then FrameYarnDtl.Width = 2100 ElseIf FrameYarnDtl.Width =

当某个特定文本框失去焦点时,我会向用户显示一些股票详细信息,因为表单I上的空间较少,所以我使用了一个框架。我希望增加股票标签所在框架的宽度,现在我希望它从右到左随时间戳增加。由于框架位于右侧,因此必须从右侧开始增加宽度。我在代码段上找不到任何属性来执行此操作。我想知道任何人有什么想法,请帮助我

我使用了正常的宽度增加

If FrameYarnDtl.Width = 15 Then
    FrameYarnDtl.Width = 2100
ElseIf FrameYarnDtl.Width = 2100 Then
    FrameYarnDtl.Width = 4200
ElseIf FrameYarnDtl.Width = 4200 Then
    FrameYarnDtl.Width = 6300
End If
If FrameYarnDtl.Width = 6300 Then
    Timer1.Enabled = False
End If
既然是新年。。。
提示:随着
FrameYarnDtl.Width
的增加,减少
FrameYarnDtl.Left

John Eason已经解决了您的问题,但是如果您想要一个工作片段,这里有一个:

编辑:无需向表单添加任何控件,只需复制并粘贴代码段即可

选项显式
'*****************************************************************
作者:https://stackoverflow.com/users/4938616/david
资料来源:https://stackoverflow.com/q/53993968/4938616
'*****************************************************************
以事件tmrAnim作为计时器的私有
作为框架的专用压裂液控制员
Private with events btnStart As command按钮
专用子btnStart_Click()
静态dir_开关为布尔型
'运行动画
调用runAnim(dir\u开关)
'切换动画的方向
dir\U开关=非dir\U开关
端接头
'从需要触发动画的任何位置调用此函数
私有子runAnim(ByVal runBackwards作为布尔值)
调用timerCallback(-1,runBackwards)
tmrAnim.Enabled=True
端接头
'更新关键帧的计时器事件
专用子tmrAnim_定时器()
静态键长
'函数在动画完成后返回true
'它提供了一个关键帧
如果timerCallback(键),则
键=0
tmrAnim.Enabled=False
如果结束
'关键帧更新
键=键+1
端接头
'此函数从计时器调用,并执行实际动画
专用函数timerCallback(ByRef键为Long,可选ByRef runBack为Boolean=False)为Boolean
静态BackardAnim As Boolean'确定动画应该出现的方向
'当键为负时,调用此函数以设置其forwardAnim变量。
这不是一个干净的解决方案,只是一个快速的解决办法
如果键<0,则
backwardAnim=返回
退出功能
如果结束
'跟踪动画流的变量
暗淡的克列夫特一样长,克列夫特一样长
'存储动画范围的常量
这些可能是全局变量,但我不喜欢全局变量
常数INI_左长=10,结束_左长=170
长度为320的常数初始宽度,长度为160的端点宽度
'确定动画中的最后一个关键帧(包括)
常量最大键长=8
进展缓慢
'确定动画进度的方向
如果不是落后的话
进度=键/最大键
其他的
进度=(最大键-键)/最大键
如果结束
'这只是形式为“c=a-(a-b)*n”的线性函数'
其中a和b是两个任意点,c是介于两者之间的任意点

“当0发出声音时,a和b!新年快乐