Выравнивание символов с ListView OwnerDraw в C # - PullRequest
0 голосов
/ 17 февраля 2009

Я пытаюсь реализовать элемент управления .NET, который работает как Firefox Awesome Bar. С этой целью я пытаюсь выделить жирным шрифтом и подчеркнуть искомые символы в результатах поиска, отображаемых в ListView. Я настроил OwnerDraw и использую Graphics.MeasureCharacterRanges, чтобы выяснить, насколько велики персонажи. У меня проблема в том, что значения, переданные из этого метода, не всегда идеальны. Я получаю несколько дополнительных пикселей здесь или там или два символа, которые находятся слишком близко друг к другу. Есть ли легкое исправление? Еще один способ нарисовать разные части одного и того же слова с разными настройками шрифта?

1 Ответ

0 голосов
/ 18 февраля 2009

Я понял это. Мне пришлось переключиться на использование TextRenderer.DrawText и TextRenderer.MeasureText. Я обязательно передал TextFormatFlags.NoPadding обоим этим методам.

...