2013-10-11 2 views
0

Я столкнулся с действительно странной проблемой в своем приложении vb6. Он отлично работает на всех других машинах, но когда я запускаю его на машине моего клиента, изображения не отображаются должным образом.VB6 с картинками, которые ведут себя странно, любой эксперт?

Это как проблема выглядит demonstration Спецификации:

Windows 8 Pro (6,2 Строительства 9200) 32 Bit
Процессор Архитектура 64 Bit
Core 2 Duo T9600 2,80 ГГц
Dell Широта 6400.

Я развернул sam e на многих других машинах и протестированы на разных разрешениях с различными операционными системами. Везде работает префект. но не работает должным образом на машине клиента.

+1

Как вы определяете размер элемента управления изображением? – Boann

+0

Настольное масштабирование используется на любом ПК? –

+1

попробуйте изменить разрешение экрана клиента как ваше. –

ответ

4

Без дополнительной информации, трудно быть уверенным, но вот догадка:

Начиная с Windows 7, если система уведомлений у вас есть монитор с разрешением чрезмерному он автоматически выбирает высокое значение DPI.

Если ваша программа не поддерживает DPI, применяется одна из нескольких форм appcompat (на основе версии Windows, некоторых системных параметров и характеристик приложения). В зависимости от того, какие исправления предпринимаются Windows, растровая графика может заканчиваться масштабированной и пиксельной или не масштабированной и показывать как «меньше, чем ожидалось».

Для того, чтобы добавить топливо в огонь, люди часто пытаются использовать макет интерфейса, используя ScaleMode = vbPixels и/или ручные преобразования, и полагаются на фиксированное соотношение между этими виртуальными пикселями и фактическими показателями экрана. Твёрдое кодирование 15 Twips/Pixel (1440/96) очень распространено, потому что пиксельные экраны с разрешением 96 DPI VGA (и VGA-производные) использовались в течение длительного времени.

Эта ошибка может привести к неправильной настройке такой программы, даже когда другие получат изменение размера при восстановлении DPI.

Вы можете попробовать прочитать хотя бы High DPI для получения информации по этому вопросу.

В случае чего-то вроде фонового изображения формы вам нужно либо несколько растровых изображений разных размеров, из которых вы выберете во время выполнения, либо вам нужно будет масштабировать изображение самостоятельно.

+1

+1 см. Также http://www.vbforums.com/showthread.php?668638-DPI-Awareness-and-VB6 – MarkJ

Смежные вопросы