Различия в размере шрифта между VB6 и VB.NET - PullRequest
4 голосов
/ 10 февраля 2010

При установке размера шрифта точки 10 в VB6:

Me.FontName = "Verdana"
Me.FontSize = 10
Debug.Print Me.FontSize

Указанный размер шрифта составляет 9,75. Однако, когда то же самое делается в VB.NET:

Me.Font = New System.Drawing.Font("Verdana", 10)
Console.WriteLine(Me.Font.Size)

Сообщенный размер 10. Может кто-нибудь объяснить разницу здесь? Я догадываюсь, что VB6 использует шаг .75, потому что моя система настроена на 96 DPI, а .NET не использует этот шаг или не сообщает о его использовании, но я не уверен.

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

В этом нет ничего плохого, и оба они технически одинаковы. Это просто сообщение о шрифте «точнее». Размер шага шрифта для 96dpi составляет 0,75 (0,6 при 120 DPI), поэтому технически это шаги от 9 до 9,75 до 10,5.

0 голосов
/ 12 февраля 2010

Свойство Size имеет размер 72 / GetDeviceCaps(hDC, LOGPIXELSY), для маленьких шрифтов (96 DPI) - 0,75 и для больших шрифтов (120 DPI) - 0,6

Вы можете использовать SetRatio в OleFont для управления знаменателем в предыдущем выражении. GetDeviceCaps является настройкой по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...