Я делаю расширение редактора для VS2012, и мне нужно найти ширину логического пикселя любого символа в редакторе.Получение логической ширины пикселя любого символа в редакторе визуальной студии?
Я думаю, что все символы имеют одинаковую ширину, но общая ширина изменяется с изменением размера масштабирования редактора; когда масштаб составляет 100%, все символы имеют 7 логических пикселей в ширину, в противном случае все они имеют 7,33 логических пиксела в ширину.
я могу найти ширину любого характера, написав:
// textview is an ITextView
textview.Caret.ContainingTextViewLine.TextWidth /
textview.Caret.ContainingTextViewLine.Length
Однако, проблема в том, когда линия, что каретка на пусто, так как это было бы деление на ноль.
Не могли бы вы просто имитировать пространство, получить ширину и имитировать удаление пространства, когда вы хотите ширину? – SimpleVar
Да, я мог, но это похоже на хак. это мое последнее средство. – daniel1426
Используйте функцию текстовой ширины. – matzone