VB6与图像表现奇怪,任何专家?

时间:2013-10-11 16:16:17

标签: vb6

我在vb6应用程序中遇到了一个非常奇怪的问题。它在其他所有机器上运行正常,但是当我在客户机器上运行时,图像无法正常显示。

这就是问题的样子 demonstration规格:

  

Windows 8 Pro(6.2 Build 9200)32位
  处理器架构64位
  Core 2 Duo T9600 2.80 Ghz
  戴尔Latitude 6400。

我在许多其他机器上部署了相同的应用程序,并使用不同的操作系统在不同的分辨率上进行了测试它到处都是完美的。但在客户的机器上无法正常工作。

1 个答案:

答案 0 :(得分:6)

如果没有更多信息,很难确定,但这是猜测:

从Windows 7开始,如果系统注意到您的显示器分辨率过高,则会自动选择高DPI设置。

如果您的程序不支持DPI,则应用以下几种形式的appcompat之一(基于Windows版本,某些系统选项和应用程序特征)。根据Windows尝试的修复,位图图形最终可以缩放和像素化或不缩放,并显示为“小于预期。”

为了给火灾添加燃料,人们经常尝试使用ScaleMode = vbPixels和/或手动转换来进行UI布局,并依赖这些虚拟像素与实际屏幕指标之间的固定比率。硬编码15缇/像素(1440/96)非常常见,因为96 DPI VGA(和VGA衍生)方形像素屏幕已经使用了很长时间。

这种谬误可能导致这样的程序不正确地控制大小,即使其他人通过DPI补救来调整其大小。

您可以尝试通过High DPI阅读有关此主题的信息。

对于类似表格背景图像的情况,您需要在运行时选择多个不同大小的位图,否则您需要自己缩放图像。