Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

HTMLEditor – Краткий обзор

01.01.2007

Вступление - загрузка информации.

Часто в своих проектах, там, где нужно дать возможность пользователю редактировать текст, выделять различными шрифтами (стилями, цветами...) отдельные слова и в других подобных случаях, мы используем, чаще всего, TRichEdit. Всем он нравится как редактор?, хорош и удобен он в работе? На эти вопросы каждый ответит по своему, но в принципе, худо-бедно, пользоваться им можно. Можно потому что не видно другой альтернативы. Вернее она есть, и на много удобнее и продвинутее чем Rich'формат - это Html'формат, но он не доступен для визуального редактирования - т.е. для него нет редактора, поддерживающего стили, картинки, таблицы()., вот и получается что оно как бы есть, но его как бы нет. А если бы был (здесь можно помечтать, что с помощью такого редактора можно было бы сделать)? А.если нечто подобное есть, а вы об этом не знаете (здесь можно состроить гримасу удивления и задаться вопросом "зачем такое делать и никому об этом не говорить?")? Короче, альтернатива Rich'формату есть это Html, теперь давайте попробуем найти для него редактор. Но чтобы что-то искать, надо, как минимум, знать что это что-то есть. Когда же я стал искать, то я еще не знал о существовании такого редактора, да вобщем-то и искал не его и обнаружение его - это побочный эффект любопытства.

Куда ты завел нас...?

Что и зачем я искал вам не интересно, а вот что и где я нашел мы сейчас узнаем.

1.Запускаем один экземпляр Delphi (у меня 5-ая версия).
2.В меню-баре выбираем пункт "Component", затем "Import ActiveX Control".
3.В появившемся окне, в списке зарегестрированных ActiveX Control'ов находим строку "DHTML Edit Control..." и выделяем ее (я не обещаю что у всех она будет, но если вдруг не будет попробуйте нажать кнопку "Add" и найти файл "C:\Program Files\Common Files\Microsoft Shared\Triedit\DHTMLED.OCX")..

Результат должен быть примерно следующий:

1.Нажимаем кнопку "Install".
2.В следующем окне выбираем вкладку "Into new package".
3.Выбираем путь куда будет установлен наш ActiveX package и имя для него.
1.Далее жмем "Ok".
2.После долгого раздумья появится окно, в котором нажмите "Compile".
1.После чего в выскочившем сообщении нажмите "Ok".
2.Закройте все с сохранением вашей новой библиотеки.

А теперь в два приема создаем проект и тестируем то что получилось.

1.Создаем новый проект
2.находим палитру компонент "ActiveX", где видим две новые иконки
3.выбираем ту что называется "DHTMLEdit"
4.бросаем ее на форму
5.устанавливаем Align := alClient
6.запускаем проект
7.выделяем текст на странице которую вы сейчас читаете (Ctrl+A) и копируем с нее текст (Ctrl+C)
8.переходим в наш проект
9.ставим в поле курсор (щелкните мышью по полю)
10.нажимаем "Ctrl+V"
11.смотрим и удивляемся.

Текст можно редактировать, выделять, подсвечивать (Ctrl+B, Ctrl+I, Ctrl+U), искать (Ctrl+F), и даже кажется печатать(Ctrl+P) (не уверен так как у меня нет принтера).

А что дальше?

А вот в этом-то вся шутка юмора и заключается... А я не знаю что дальше, точнее как програмно работать с ним - выделять, вставлять рисунки, рисовать таблицы и т.д. Судя по тому что все это он может отображать, он должен и уметь все это создавать, но с разбегу у меня не получилось разобраться. Поэтому, заинтересовавшийся народ, вот вам ребус - работа с html-едитором, взаимодействие его с программой и с пользователем - все это теперь ваша забота, а мы будем ждать появления на страницах "Королевства" от вас статей на этот счет, а я, пардон, отойду в сторону - у меня другие интересы и задачи, я лишь посчитал своим долгом познакомить вас со своей находкой. Единственное только знаю, что его можно использовать и как html-editor, и как html-viewer.

Заключение

Это полностью моя статья, ни на что не претендующая, ни с кого не требующая, ни от куда не списанная (даже упоминаний о DHTMLEdit'оре не где не слышал). Описанный контрол, технической поддержке со стороны автора статьи не подлежит, даже ответов на вопросы по нему не предусматривается. Все. Удачи. Всем пока.

Автор: Алексей Румянцев

Взято с https://delphiworld.narod.ru