Каков наилучший элемент управления, который я могу выбрать, чтобы отобразить твит с помощью winapi? - PullRequest
0 голосов
/ 31 мая 2011

Элемент управления должен иметь возможность рисовать текст в несколько строк, реагировать на клики по URL-адресам или тегам @user и т. Д., Чтобы выделиться другим цветом.

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

Что бы вы сказали, мои варианты?Я очень осторожен в попытке использовать TextOut, чтобы сделать свой собственный контроль.Это может заставить меня плакать.

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

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Вы можете использовать элемент управления Webbrowser и просто создать HTML-код, отображающий то, что вы хотите.

0 голосов
/ 31 мая 2011

Я бы ненавидел эту опцию с отключенным элементом управления, почему бы не дать мне возможность выбрать часть текста для копирования.

В любом случае, вы можете установить цвет около белого FEFEFE, и он должен работать, только не чисто белый.

Нет ли у элемента управления RichEdit режима «только для чтения», он останавливает ввод, но позволяет выделить текст и щелкнуть ссылки.

...