| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1218 人关注过本帖
标题:加个时间控件后如何使图片自动移动??
只看楼主 加入收藏
liuyazi79
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2004-5-25
收藏
 问题点数:0 回复次数:1 
加个时间控件后如何使图片自动移动??

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode Case vbKeyLeft Picture1.Left = Picture1.Left - 100 Case vbKeyUp Picture1.Top = Picture1.Top - 100 Case vbKeyDown Picture1.Top = Picture1.Top + 100 Case vbKeyRight Picture1.Left = Picture1.Left + 100 End Select If Picture1.Left < 0 Then Picture1.Left = 0 If Picture1.Top < 0 Then Picture1.Top = 0 If Picture1.Left > Me.ScaleWidth - Picture1.Width Then Picture1.Left = Me.ScaleWidth - Picture1.Width If Picture1.Top > Me.ScaleHeight - Picture1.Height Then Picture1.Top = Me.ScaleHeight - Picture1.Height End Sub

Private Sub Form_Load() Me.KeyPreview = True End Sub

这是用上下左右键控制图片移动的,我想要在我不按上下左右键时候图片也按上次移动的方向自动移动.

搜索更多相关主题的帖子: 控件 自动 时间 
2004-06-24 12:53
firechun
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2004-4-13
收藏
得分:0 

设置一个全局变量,记录上次移动的方向,然后在timer事件中处理

在你的代码中可作如下修改:

private mlngDirect as long '声明一个模块级变量

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode Case vbKeyLeft Picture1.Left = Picture1.Left - 100 '记录当前方向 mlngdirect=1 Case vbKeyUp Picture1.Top = Picture1.Top - 100 mlngdirect=2 Case vbKeyDown Picture1.Top = Picture1.Top + 100 mlngdirect=3 Case vbKeyRight Picture1.Left = Picture1.Left + 100 mlngdirect=4 End Select …… …… end sub

在timer事件中

private sub timer1_timer() Select Case mlngdirect Case 1 Picture1.Left = Picture1.Left - 100 Case 2 Picture1.Top = Picture1.Top - 100 Case 3 Picture1.Top = Picture1.Top + 100 Case 4 Picture1.Left = Picture1.Left + 100 End Select …… …… end sub


本人在编程中国发表的所有文章,除特别说明外均属原创,转载时请注明作者编程中国
2004-06-24 15:44
快速回复:加个时间控件后如何使图片自动移动??
数据加载中...
 
   



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

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