Блокнот использует стандартный элемент управления EDIT для своей текстовой области. Элемент управления EDIT реализует два сообщения: EM_GETMARGINS
и EM_GETRECT
. Значения, возвращаемые EM_GETMARGINS
и EM_GETRECT
, зависят от выбранного шрифта.
Для Courier New при 96 DPI:
height client rect EM_GETMARGINS EM_GETRECT right margin
left right left right left right by EM_GETRECT
10pt 0 489 2 1 3 487 2
20pt 0 489 5 3 6 485 4
Для Lucida Console при 96 DPI:
height client rect EM_GETMARGINS EM_GETRECT right margin
left right left right left right by EM_GETRECT
10pt 0 489 0 0 1 488 1
20pt 0 489 0 1 1 487 2
Для Consolas с разрешением 96 DPI:
height client rect EM_GETMARGINS EM_GETRECT right margin
left right left right left right by EM_GETRECT
10pt 0 489 3 3 5 485 4
20pt 0 489 7 6 8 482 7
По какой-то причине EM_GETMARGINS
и EM_GETRECT
возвращают немного разные поля. При их визуальном осмотре кажется, что EM_GETRECT
дает более правильные результаты.
Это значения по умолчанию. Блокнот может изменять их, но для Windows 10 значения указаны выше. Помните, что на Windows 10 один белый пиксель принадлежит вертикальной полосе прокрутки (это можно проверить, наведя на нее курсор, что приведет к выделению большого пальца полосы прокрутки и изменению курсора с i-луча на стрелку).
Это похоже, что вы используете Consolas и получаете поля по умолчанию.