Как вставить текст форматированный в RichEdit
Копирую с браузера не вставляется форматным.
Копирую с Worda вставляется форматным.
Значит невозможно ?.
А хотя нет возможно я думаю раз в Word его понимает с браузера.
скопировать в поток возможно но не знаю что да как.
В общем нужно с Браузера форматный текст скопировать в RichEdit.
C/C++
Как вставить текст форматированный в RichEdit
Вам надо разобраться с технологией работы буфера обмена в Windows.
Под руками сейчас средств разработки под Windows нет, подкину инфу к размышлению и куда копать.
На пальцах - когда в буфер копируется информация - она передает идентификатор типа передаваемого формата вместе с данными. Когда Вы хотите вставить данные - программаы должны подобрать в каком формате можно передать-получить данные и соотв. вставить.
Скорее всего ситуация такая, что при копировании со страницы в буфер помещается CF_HTML, который напрямую не понимает RichEdit.
Список стандартных форматов-констант.
https://docs.microsoft.com/en-us/windows/win32/dataxchg/standard-clipboard-formats
О CF_HTML
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767917(v=vs.85 )?redirectedfrom=MSDN
Но когда Вы перекопируете через Word - один из предлагаемых форматов вставки вероятно CF_ RTF - поэтому он легко вставляется в RichEdit с форматированием.
https://docs.microsoft.com/en-us/cpp/mfc/clipboard-operations-in-rich-edit-controls?view=msvc-160&viewFallbackFrom=vs-2019
Что делать? Посмотрите прав ли я. Функции
RegisterClipboardFormat (регистрация формата для обработки)
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registerclipboardformatw
EnumClipboardFormat (список доступных форматов в буфере обмена)
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumclipboardformats
Дальше при вставке Вам _возможно_ надо будет самому переконвертировать HTML текст в RTF.
В простых случаях и тегах ситуация решаема. Возможно стоит поискать готовую библиотеку. Можно ещё попробовать использовать встроенный TWebBrowser задать текст и скопировать (даже старого IE хватит разобрать основные теги форматирования). Но это плохой путь.
PS: ещё хинт - можно воспользоваться менеджерами буферов обмена и посмотреть какие форматы появляются при копировании из браузера и копировании из Word.
Под руками сейчас средств разработки под Windows нет, подкину инфу к размышлению и куда копать.
На пальцах - когда в буфер копируется информация - она передает идентификатор типа передаваемого формата вместе с данными. Когда Вы хотите вставить данные - программаы должны подобрать в каком формате можно передать-получить данные и соотв. вставить.
Скорее всего ситуация такая, что при копировании со страницы в буфер помещается CF_HTML, который напрямую не понимает RichEdit.
Список стандартных форматов-констант.
https://docs.microsoft.com/en-us/windows/win32/dataxchg/standard-clipboard-formats
О CF_HTML
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767917(v=vs.85 )?redirectedfrom=MSDN
Но когда Вы перекопируете через Word - один из предлагаемых форматов вставки вероятно CF_ RTF - поэтому он легко вставляется в RichEdit с форматированием.
https://docs.microsoft.com/en-us/cpp/mfc/clipboard-operations-in-rich-edit-controls?view=msvc-160&viewFallbackFrom=vs-2019
Что делать? Посмотрите прав ли я. Функции
RegisterClipboardFormat (регистрация формата для обработки)
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-registerclipboardformatw
EnumClipboardFormat (список доступных форматов в буфере обмена)
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumclipboardformats
Дальше при вставке Вам _возможно_ надо будет самому переконвертировать HTML текст в RTF.
В простых случаях и тегах ситуация решаема. Возможно стоит поискать готовую библиотеку. Можно ещё попробовать использовать встроенный TWebBrowser задать текст и скопировать (даже старого IE хватит разобрать основные теги форматирования). Но это плохой путь.
PS: ещё хинт - можно воспользоваться менеджерами буферов обмена и посмотреть какие форматы появляются при копировании из браузера и копировании из Word.
Руками
Похожие вопросы
- Каталог текстов песен на C++
- Дан массив из N элементов (N < 1000), причем N - четное. Вставить в середину массива сумму всех элементов.
- Выбрать из текста слова, в которых имеются удвоенные согласные буквы
- Дан текст на кириллице произвольного размера. Вывести отдельно все знаки препинания и слова текста.
- Срочно нужна помощь (Дана строка, содержащая зашифрованный русский текст. решить нужно на с++
- Посчитать самое длинное слово в тексте
- Распечатать слова данного текста в обратном порядке c++ Надо переделать с помощью указателей
- Текст вывода не меняется с++
- Помогите мне! C++ (текст, текст)
- В LINUX OS Написать программу, которая из командной строки получает целое число N и некоторый текст “Text”.
И забил.
Для человека бесплатно авторедактор объявлений делаю.
так 1 2 функций сделал.
Обработку файла html не рискнул делать побоялся.
А CF_HTML не знал.
Но понял что функция какая то в ворде есть.
Спасибо за ответ посмотрю.