![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
albert21 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Всем привет.
Нужен бесплатный контрол, который может отображать форматируемый текст. Что-то типа многострочного Label, строки которого могут быть написаны разным шрифтом, цветом, размером и т.д. Подскажите пожалуйста, если знаете такого типа контрол. --------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
RichTextBox [http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.aspx] ?
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
albert21 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Спасибо за совет. Попробовал RichTextBox и сразу наткнулся на ряд проблем, связанных с излишней (для моей задачи) функциональностью данного контрола, а именно:
1) пока не удалось избавиться от мигающего символа каретки (палочка в точке ввода текста). Может кто знает как избавиться? 2) пока не удалось запретить выделение выведенного текста. Может кто знает как запретить? ![]() --------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
|||
|
||||
albert21 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Есть вариант использовать контрол WebBrowser. Присваивать webBrowser.DocumentText сформированный текст html документа. Но этот самфй текст html документа может быть довольно большим и часто изменяющимся. А это может сказаться на производительности
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
"я трубу твоя шаталь!". Форматируемый означает "который может быть отформатирован". Часть слова WebBrowser как бы намекает нам что это "просмотр". Конечно, можно какой-нибудь FSKEditor прикрутить - но овчинка выделки не стоит. А для скрытия каретки надо (наверно) делать субклассинг окна и ловить нотификационное сообщение EN_SETFOCUS и делать HideCaret(), а также (для курсора мыши) ловить WM_SETCURSOR и делать ShowCursor(NULL). А для выделения делать либо EM_HIDESELECTION либо делать SelectionStart=SelectionEnd или что-то вроде того.. Это сообщение отредактировал(а) jonie - 14.6.2011, 00:02 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
albert21 |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Пробую... Это класс в котором ловятся сообщения
Форма на которой располагается RichTextBox
В Win32 API я не шарю. Пробовал ловить сообщение EN_SETFOCUS , но оно не ловится. Наверное такое совсем не поступает в RichTextBox. Ловится WM_SETFOCUS, но видимо при этом каретка исчезает лишь на тот момент времени, в который пришло это сообщение. При том варианте, который я привёл, каретка исчезает если навести мышку на RichTextBox. При этом с момента запуска до момента наведения мыши каретка продолжает мигать. также она появляется в момент нажатия левой кнопки мыши. Подскажите пожалуйста что я делаю не так? Может не те сообщения ловлю? Необходимо чтобы каретка вообще не отображалась. --------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
||||||
|
|||||||
dextermd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 21.6.2008 Репутация: нет Всего: нет |
Обе проблемы решаются достаточно просто. Для начала устанавливаем два параметра для RichTextBox: ReadOnly = true и TabStop = false, затем ловим событие MouseDown и переключаем фокус на другой контрол (например label). Ниже приведен полный код программы:
|
|||
|
||||
albert21 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Спасибо, dextermd
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |