| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3158 人关注过本帖
标题:[求助]如何让标签在表单中水平来回移动?
只看楼主 加入收藏
zjtxzxj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-10-13
收藏
 问题点数:0 回复次数:9 
[求助]如何让标签在表单中水平来回移动?
本人vfp菜鸟,有个问题想请教诸位vfp高手:

 

if thisform.label1.caption!=time()
    thisform.label1.caption=time()
endif
if thisform.label1.left>thisform.width
    thisform.label1.left=0
else
    thisform.label1.left=thisform.label1.left+10
endif

以上的代码只能让标签始终从左往右移动,怎样改动才能让标签在表单中来回移动?
搜索更多相关主题的帖子: 表单 水平 
2008-10-13 19:22
nhygm888
Rank: 2
等 级:论坛游民
威 望:1
帖 子:186
专家分:42
注 册:2008-7-20
收藏
得分:0 
我是用了 2个 时间控件  分别控制 标签 向左 还是向右走动
当 标签向右走到 头是 关闭第一个 时间控件 打开第二个 时间控件 让标签向回走
2008-10-13 19:48
szy345
Rank: 4
来 自:江苏——南京
等 级:贵宾
威 望:14
帖 子:336
专家分:14
注 册:2008-8-6
收藏
得分:0 
&& 先判断往哪边移动,再判断是否到边
public ww
ww=.T.
&& 上面代码加在表单的init里,下面的加在timer中
lab_left = 'thisform.label1.left'
&lab_left = 0 - thisform.label1.width

if  ww =.T. and &lab_left < thisform.width               && 从左向右
    &lab_left = &lab_left + 10
else
    ww=.F.
    &lab_left = &lab_left - 10
    if &lab_left = 0 - thisform.label1.width  
       ww=.T.   
    endif
endif

VFP技术交流,QQ群:20452307
欢迎您!
2008-10-13 20:11
zjtxzxj
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-10-13
收藏
得分:0 
三楼太牛了。
我想问下二楼,怎样做才能关掉第一个时间控件,开启第二个时间控件?
2008-10-13 20:19
nhygm888
Rank: 2
等 级:论坛游民
威 望:1
帖 子:186
专家分:42
注 册:2008-7-20
收藏
得分:0 
this.interval=0或 thisform.timer1.interval=0
2008-10-14 07:30
szy345
Rank: 4
来 自:江苏——南京
等 级:贵宾
威 望:14
帖 子:336
专家分:14
注 册:2008-8-6
收藏
得分:0 
[bo][un]szy345[/un] 在 2008/10/13 20:11 的发言:[/bo]

&& 先判断往哪边移动,再判断是否到边
public ww
ww=.T.
&& 上面代码加在表单的init里,下面的加在timer中

lab_left = 'thisform.label1.left'
&lab_left = 0 - thisform.label1.width

这边有点问题。
&& 先判断往哪边移动,再判断是否到边
public ww,lab_left
ww=.T.
lab_left = 'thisform.label1.left'
&lab_left = 0 - thisform.label1.width

&& 上面代码加在标签的init里,下面的加在timer中
。。。。

VFP技术交流,QQ群:20452307
欢迎您!
2008-10-14 08:46
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
thisform.label1.caption=time()
thisform.label1.left=thisform.label1.left+10*n
If thisform.label1.Left+thisform.label1.width>=thisform.width
  n=-1
else
  if thisform.label1.left<=0
    n=1
  endif
endif

n在表单中定义为全局变量,其初始值为1

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-10-14 10:59
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
[bo][un]Tiger5392[/un] 在 2008-10-14 10:59 的发言:[/bo]
 

代码非常清晰,学习

VFP
2008-10-14 11:06
glygly06
Rank: 1
来 自:雁城
等 级:新手上路
威 望:1
帖 子:120
专家分:0
注 册:2008-10-1
收藏
得分:0 
[quote][bo][un]Tiger5392[/un] 在 2008-10-14 10:59 的发言:[/bo]

受益匪浅
2008-10-15 11:05
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
SET CURSOR off
x1=this.Left
x2=thisform.Width
DO while .t.
t=IIF(this.Left > x1,"x2-x1 to x1 step -1","x1 to x2-x1 step 1")
FOR i=&t
    this.left=i
    wait"" timeout 0.1
NEXT
ENDDO
2008-10-15 11:28
快速回复:[求助]如何让标签在表单中水平来回移动?
数据加载中...
 
   



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

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