VB中为什么取得的Screen.Width \ Screen.TwipsPerPixelX和Screen.Height \ Screen.TwipsPerPixelY相同?

Private Sub Command1_Click()
MsgBox Screen.Width \ Screen.TwipsPerPixelX & "*" & Screen.Height \ Screen.TwipsPerPixelY
End Sub
电脑分辨率为1280*800,结果MsgBox的结果为800*800,为什么?

我也遇到这个问题了,研究了半天,结论是这是VB或者操作系统的BUG。在VB环境下运行,一切正常,一旦编译出来就不正常了。编译出来以后,在打开程序期间不更改分辨率,正常。但是在打开程序期间,更改了分辨率,那么就会出现题主这个问题。也就是说编译出来以后,不能连续监测分辨率的变化。非常坑人,程序BUG就已经很头疼了,编译器还特么有自己的BUG。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-25

你确定你设置的桌面分辨率是1280*800?我运行结果如下

本回答被提问者采纳
相似回答