Элемент управления должен иметь возможность рисовать текст в несколько строк, реагировать на клики по URL-адресам или тегам @user и т. Д., Чтобы выделиться другим цветом.
Первый очевидныйвыбор был контролем richedit, но я столкнулся с многими проблемами с этим.Во-первых, я хотел бы, чтобы текст был невыбираемым, а ввод был отключен.Последнее легко, но единственный способ запретить выбор текста - отключить элемент управления.В этом случае я не могу понять, как изменить цвет фона с серого по умолчанию на белый.Кроме того, все функции интерактивной ссылки, которые я получаю бесплатно от richedit, перестают работать, когда элемент управления отключен.
Что бы вы сказали, мои варианты?Я очень осторожен в попытке использовать TextOut, чтобы сделать свой собственный контроль.Это может заставить меня плакать.
РЕДАКТИРОВАТЬ: До сих пор я не рассматривал возможность выбора пользователем текста в качестве опции, поэтому режим только для чтения не показался мне полезным.Я просто планировал это в своей голове таким образом.Я определенно хочу, чтобы здесь не было мигающей каретки, поэтому я осмотрелся и обнаружил, что могу вызвать HideCaret для WM_SETFOCUS из richedit (путем его подкласса) и вернуть 0. Это навсегда избавило от каретки.По иронии судьбы, это также избавило от возможности выбирать что-либо с помощью мыши, и это почти то же самое поведение, на которое я надеялся в первую очередь.Я не знаю, полностью ли я против запрета выбора.Я вернусь к этому.Теперь осталось только выяснить, могу ли я изменить поведение изображения курсора, изменяющегося при наведении на текст.