我做一个程序,需要用 Picture 的 Point 的方法
平时没什么错误出现,但是只要窗口被挡住, Point 返回的都是 -1
如何在窗口被挡住时还能让 point 返回正确的颜色值,或者有其它方法可以解决么?

解决方案 »

  1.   


    Private Sub Command1_Click()
        i = Me.Picture1.Point(380, 370)
        Debug.Print i
    End Sub
    我不知道你说的被挡住是什么意思?
      

  2.   

    在有些机器上 point 的返回值都是 -1
    这里挡住的意思是被某些窗口挡住
      

  3.   

    你的代码是我这样写的吗?我写在command中间,无论如何我需要去点击command,这样窗体就在最前面我查了以前版面上的一些帖,有些也遇见-1的现象,但是不是和你的问题是一样/建议在调用之前确认form是活动的。
      

  4.   

    嘿嘿!很简单呀!
    Picture1.AutoRedraw = True
    再看看
      

  5.   

    object.Point(x,y),Point方法将返回-1有两种情况:1、如果由x和y坐标所引用的点位于object(PictureBox)之外(x>Scalewidth or y>Scaleheight),Point方法将返回-12、当AutoRedraw = False时,只要你要读取的PictureBox的点被其它程序所遮挡,就会返回-1;要深究其原因,你可以参考场景的相关资料所以,你在执行Point方法前,设置AutoRedraw = True就OK了  ^_^