VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 755|回复: 3

设置Left属性的单位问题

[复制链接]

1

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-3 15:50:01 | 显示全部楼层 |阅读模式
VB6.0

Private Sub Timer_Timer()
    If Pic_OPbackground.Left = -534 * Screen.TwipsPerPixelX Then
        Timer.Enabled = False
        Text1.Text = "1"
    Else
        Pic_OPbackground.Left = Pic_OPbackground.Left - 0.1 * Screen.TwipsPerPixelX
    End If
End Sub

执行后只执行else后的语句,尝试了设Pic_OPbackground.Left = -534 * Screen.TwipsPerPixelX,画面存在问题,类似的Left Top类的属性不能用像素设置?

PS:VB不能用运算符"-="?
回复

使用道具 举报

0

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-1-3 15:51:01 | 显示全部楼层
Pic_OPbackground.Left - 0.1 * Screen.TwipsPerPixelX
这句话很难保证Pic_OPbackground.Left = -534 * Screen.TwipsPerPixelX 成立
改成 If Pic_OPbackground.Left <= -534 * Screen.TwipsPerPixelX Then


-=不支持
回复

使用道具 举报

1

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-1-3 17:54:01 | 显示全部楼层
谢谢yoh2006的回答,改成 If Pic_OPbackground.Left <= -534 * Screen.TwipsPerPixelX Then后满足条件的时间点多了,可是我执行后,问题仍然存在
问题的关键在于Pic_OPbackground.Left = -534 * Screen.TwipsPerPixelX 这句的解释上,因为我尝试过Pic_OPbackground.Left = -534 * Screen.TwipsPerPixelX直接设置这句语句,显示画面是存在问题的,表现现象为只显示背景色
回复

使用道具 举报

0

主题

7

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-3 22:06:01 | 显示全部楼层
可改成 If Pic_OPbackground.Left <= -534 * Screen.TwipsPerPixelX Then
问题应该解决了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表