Пользовательские формы текстовое поле / редактирование управления в .net? - PullRequest
0 голосов
/ 02 июня 2009

Я ищу способ отображать и редактировать текст внутри прямоугольника (например, круга). Текст должен использовать как можно больше допустимого пространства, поэтому недостаточно просто разместить поле ввода внутри фигуры.

Требования:

  1. С учетом GraphicsPath и строки нарисуйте текст внутри пути. Если текст переполнен, обрежьте или инициируйте событие.
  2. Разрешить пользователю редактировать текст в GraphicsPath.
  3. Весь интеллект стандартного текстового поля относительно разрывы слов, перенос слов, локализация.

Кажется, что нет никаких средств управления, которые бы соответствовали этим требованиям. Вероятно, для этого требуются низкоуровневые API для разметки линий, и я не могу найти в MSDN документацию о таких API в Windows.

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

Заранее спасибо!

1 Ответ

0 голосов
/ 02 июня 2009

Поскольку вы упомянули, что это высокоточный инструмент, я бы полностью избегал использования встроенных методов TextRenderer, поскольку у них есть проблемы с точностью и согласованностью.

Что касается формирования элемента управления редактирования, вы имеете в виду изменение его формы с прямоугольника на круг или элемент управления все еще будет занимать прямоугольную область? Если первое, вы можете изменить свойство Region или P / Invoke семейство SetWindowRgn.

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