Rich Edit
Введение...О richedit контроле можно думать, как о функционально-расширенном средстве редактирования. Он обеспечивает множество полезных особенностей, которых нет в простых средствах редактирования, например, возможность использовать множество видов и размеров шрифта, глубокий уровень отмены/ восстановления, операцией поиска по тексту, встроенные OLE-объекты, поддержка редактирования методом перетаскивания (drag-and-drop), и т.д. Так как richedit контрол имеет так много особенностей, он сохранен в отдельной DLL-библиотеке. Это также означает что, чтобы его использовать, вам недостаточно просто вызывать InitCommonControls, как в других Common-контролах. Вы должны вызвать LoadLibrary, чтобы загрузить richedit DLL.
На данный момент существует четыре версии библиотек RichEdit:
Версии dll -> имя класса | ||
Имя | Версия | Имя класса |
Riched32.dll | 1.0 | RICHEDIT |
RichED20.dll | 2.0 | RICHEDIT20A |
RichED20.dll | 3.0 | RICHEDIT20A |
Msftedit.dll | 4.1 | RICHEDIT_CLASS |
RichEdit версия 2 и 3 использует то же самое имя DLL, как и имя класса. Официального метода различия между версиями 2.0 и 3.0 по всей видимости не существует.
По рекомендации MSDN следует использовать следующие имена классов:
RichEdit – для версии 1.0
RICHEDIT_CLASS(макрос) – для версии 2.0 и более новых.
Версии встроенных библиотек RichEdit | |
OS | Версия |
Windows XP SP1 | 4.1 , 3.0 , эмулятор версии 1.0 |
Windows XP | 3.0, эмулятор версии 1.0 |
Windows ME | 1.0, 3.0 |
NT 4 | 1.0, 2.0 |
98 | 1.0, 2.0 |
95 | 1.0 |
ID | Описание |
EM_CANPASTE | С помощью этого сообщения можно проверить возможность вставки данных из универсального буфера обмена Clipboard в орган управления Rich Edit |
EM_DISPLAYBAND | Отображение фрагмента текста, предварительно отформатированного сообщением EM_FORMATRANGE |
EM_EXGETSEL | Определение начальной и конечной позиции выделенного фрагмента текста |
EM_EXLIMITTEXT | Установка предельного значения для объема текста, который можно записать в орган управления Rich Edit |
EM_LINEFROMCHAR | Определение номера строки, в которой расположен символ с заданным номером (считая от начала текста) |
EM_EXSETSEL | Выделение фрагмента текста |
EM_FINDTEXT | Поиск фрагмента текста |
EM_FINDTEXTEX | Расширенный поиск фрагмента текста |
EM_FINDWORDBREAK | Поиск символа переноса слова на другую строку |
EM_FORMATRANGE | Форматирование фрагмента или всего текста для отображения в заданном контексте устройства. Используется, например, для печати |
EM_GETCHARFORMAT | Определение текущих атрибутов форматирования |
EM_GETEVENTMASK | Получение маски событий, которая определяет набор извещений, посылаемых органом управления Rich Edit родительскому окну |
EM_GETPARAFORMAT | Определение атрибутов форматирования параграфа |
EM_GETSELTEXT | Переписывание в заданный буфер выделенного текста |
EM_GETTEXTRANGE | Переписывание в заданный буфер заданного фрагмента текста |
EM_HIDESELECTION | Разрешение или запрещение визуального отображения выделения текста |
EM_PASTESPECIAL | Запись данных в заданном формате из универсального буфера обмена Clipboard в орган управления Rich Edit |
EM_REQUESTRESIZE | После получения этого сообщения окно Rich Edit посылает родительскому окну извещение EN_REQUESTRESIZE. Это извещение означает, что размеры окна Rich Edit изменились |
EM_SELECTIONTYPE | Определение типа выделения: текст, один или несколько OLE -объектов |
EM_SETBKGNDCOLOR | Установка цвета фона для окна органа управления Rich Edit |
EM_SETCHARFORMAT | Установка атрибутов форматирования текста |
EM_SETEVENTMASK | Установка маски событий, которая определяет набор извещений, посылаемых органом управления Rich Edit родительскому окну |
EM_SETOPTIONS | Установка режимов работы и стилей органа управления Rich Edit, таких как ES_AUTOVSCROLL, ES_READONLY, ES_SAVESEL и т. д. |
EM_SETPARAFORMAT | Установка атрибутов форматирования параграфа текста |
EM_SETTARGETDEVICE | Установка контекста устройства отображения и ширины строки для обеспечения работы в режиме WYSIWYG (What You See Is What You Get - что вы видите, то и получите (имеется в виду, при печати) |
EM_STREAMIN | Запись в орган управления Rich Edit данных с замещением из потока данных (из файла). Можно указывать обычный текстовый формат или формат RTF |
EM_STREAMOUT | Сохранение содержимого органа управления Rich Edit в потоке (в файле). Можно указывать обычный текстовый формат или формат RTF |