![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
NosfBlazE |
|
|||
![]() 炎丸 =Ferro ignique!= ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 16.11.2008 Где: Russia Репутация: нет Всего: нет |
Здравствуйте.
В обычном оконном приложении есть форма с RichTextBox, в котором введен какой-то форматированный текст, раскрашенный разными цветами. Можно ли как-нибудь обратиться к этому объекту и узнать каким именно цветом и шрифтом написана в нем конкретная буква? Что-то вроде RichTextBox.Rtf[i].<Получить стиль> . Надеюсь на вашу помощь. ![]() P.S. Зачем мне это надо? Хочу перевести весь текст в html представление с сохранением исходного форматирования. То есть расставить соответствующие теги и стили. |
|||
|
||||
AlexNagits |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
Могу предложить простой вариант. Но предупреждаю сразу, что он скорее всего будет работать медленно!
Поочередно выделяя каждый символ в richTextBox, мы можем читать richTextBox.SelectionColor, SelectionFont и другие свойства.. Так мы сможем точно узнать форматирование каждого символа. Но при больших текстах, наверное, будет работать очень медленно.
Можно ускорить немного, ценой точности парсинга форматирования. Предварительно разбить текст на отдельные слова по символу ПРОБЕЛ richTextBox.Text.Split(" "). И в цикле считывать форматирование не посимвольно, а по словам. Самый правильный вариант, конечно, разбирать чистый rtf-код (теги). Но он и самый сложный, если вы не знакомы со спецификацией rtf. |
|||
|
||||
AlexNagits |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
Кстати, попробуйте погуглить по запросу rtf2html.
Посмотрите это, может вам подойдет? Она консольная, из проги передаете ей команды и все, не нужно будет изобретать велосипед ![]() Это сообщение отредактировал(а) AlexNagits - 30.7.2011, 23:04 |
|||
|
||||
NosfBlazE |
|
|||
![]() 炎丸 =Ferro ignique!= ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 16.11.2008 Где: Russia Репутация: нет Всего: нет |
Действительно, Вы правы. Наверное, проще искать конвертер ртф2хтмл.
Предложенный способ не подходит, во-первых, так как текст достаточно большого объема, во-вторых, он в процессе работы редактируется, а это будет сбивать индексы. =\ С ртф спецификацией, к сожалению, не знаком, в этом и вся сложность. Знаю, что там с помощью какой-то специфической разметки хранится информация о форматировании. Вот было бы здорово эту информацию как-то получать. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |