| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 564 人关注过本帖
标题:[求助]请帮我看看~~~
只看楼主 加入收藏
hln26460822
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-6-25
收藏
 问题点数:0 回复次数:9 
[求助]请帮我看看~~~
我是个新手,有个程序不知道要从何入手,哪位高手帮我看看,先谢了

就是关于定时器的,例如:在窗体上建个文本框,一个定时器,一个图片框,2个命令按钮,要求点开始按钮后,图片框中的图片向窗体的一端移动,移动到边的时候,向相反的方向移动,文本框显示当前时间。
搜索更多相关主题的帖子: 图片 移动 文本框 时间 
2005-11-03 09:28
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
放一个文本框、图片框、定时器、两个命名为 cmdStart、cmdStop 的按钮,把定时器的 Interval 属性设为 500。
代码:

Dim iDir As Integer '控制移动方向
Private Sub Form_Load()
Timer1.Enabled = False '禁用定时器
End Sub

Private Sub cmdStart_Click()
Timer1.Enabled = True
End Sub

Private Sub cmdStop_Click()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Text1.Text = Now
If iDir = 0 Then
'向右移动
Picture1.Left = Picture1.Left + 500
If Picture1.Left >= Me.ScaleWidth Then '超出窗体右边界
iDir = 1 '转为向左移动
End If
ElseIf iDir = 1 Then
'向左移动
Picture1.Left = Picture1.Left - 500
If Picture1.Left <= 0 Then '超出窗体左边界
iDir = 0 '转为向右移动
End If
End if
End Sub
2005-11-03 11:10
hln26460822
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-6-25
收藏
得分:0 

我实验了一下,但是图像向左移动的时候,并不是一到边界就向相反的方向移动,而是等整个图像都移出窗体,才又返回的。。。这是怎么回事?


快乐是自己的,不是别人给的。要把握每一个让自己快乐的机会。。。。。
2005-11-03 15:29
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 
哦,Left 属性是指图片框的左边缘坐标……你把这一段代码:
If Picture1.Left >= Me.ScaleWidth Then '超出窗体右边界
iDir = 1 '转为向左移动
End If
改成:
If Picture1.Left + Picture1.Width >= Me.ScaleWidth Then '图片框的右边缘超出窗体右边界
iDir = 1 '转为向左移动
End If
2005-11-03 19:40
hln26460822
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-6-25
收藏
得分:0 

哦,呵呵,谢谢你。。


快乐是自己的,不是别人给的。要把握每一个让自己快乐的机会。。。。。
2005-11-03 19:46
hln26460822
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-6-25
收藏
得分:0 
leon2...
再问你个问题,就是想把一个图象缩小到原来的一半,应该怎么写程序》?

快乐是自己的,不是别人给的。要把握每一个让自己快乐的机会。。。。。
2005-11-03 20:36
hln26460822
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-6-25
收藏
得分:0 

Private Sub Command1_Click()
Picture2.Cls


w = Picture1.Width
h = Picture1.Height
Picture2.PaintPicture Picture1, 0, 0, w / 2, h / 2, w, 0, -w, h

End Sub

Private Sub Command2_Click()
Picture2.Cls
w = Picture1.Width
h = Picture1.Height
Picture2.PaintPicture Picture1, 0, 0, w, h, -w, -h
End Sub

Private Sub Command3_Click()
Picture2.Cls
w = Picture1.Width
h = Picture1.Height
Picture2.PaintPicture Picture1, 0, 0, w, h, 0, h, w, -h

End Sub

这么写,对不对?


快乐是自己的,不是别人给的。要把握每一个让自己快乐的机会。。。。。
2005-11-03 20:59
leon2
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:731
专家分:0
注 册:2005-3-18
收藏
得分:0 

不,这样会令图像缩小到 1/4 并反转,应该是:

Picture2.Cls

w = Picture1.Width
h = Picture1.Height
Picture2.PaintPicture Picture1, 0, 0, w, h / 2, 0, 0, w, h

'上面一句把图像高度缩小一半,宽度不变,下面这一句是把图像宽度缩小一半,高度不变。

'Picture2.PaintPicture Picture1, 0, 0, w, h / 2, 0, 0, w, h

其他的也按照这样做。

2005-11-03 22:24
wu811216
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-11-7
收藏
得分:0 
你们的VB都是自学的吗?你们学习的资料有哪些呀
2005-11-07 14:34
hln26460822
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-6-25
收藏
得分:0 
我们学校开过VB课,但是当时没有好好学,我的资料就是教科书,现在想买一些有关应用方面的书。。。。

快乐是自己的,不是别人给的。要把握每一个让自己快乐的机会。。。。。
2005-11-08 08:47
快速回复:[求助]请帮我看看~~~
数据加载中...
 
   



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

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