Создание органа управления Rich Edit

Редактор текста Rich Edit

Основные возможности текстового редактора Rich Edit:

· символы текста могут иметь любое шрифтовое оформление;

· доступны как растровые шрифты, так и шрифты True Type;

· имеется возможность задавать оформление параграфов текста (выравнивание влево, вправо, центровка и задание отступов);

· имеется возможность организовать печать текста, загруженного для редактирования;

· орган управления Rich Edit может загружать и сохранять как обычный текст без шрифтового или какого-либо другого оформления, так и текст в формате RTF;

· орган управления Rich Edit способен работать с объектами OLE (Object Linking and Embedding).

· имеется почти полная обратная совместимость со "старым" органом управления EDIT.

Орган управления Rich Edit можно использовать для создания достаточно мощного текстового редактора, напоминающего приложение WordPad.


Орган управления Rich Edit создается на базе предопределенного класса окна "RICHEDIT " при помощи функции CreateWindowEx или CreateWindow.

Однако перед тем как создать окно, необходимо загрузить в память DLL-библиотеку RICHED32.DLL, в которой находятся все необходимые функции. Это можно сделать при помощи функции LoadLibrary:

HINSTANCE hRTFLib;hRTFLib = LoadLibrary("RICHED32.DLL");

После загрузки библиотеки можно создавать окно органа управления Rich Edit:

hwndEdit = CreateWindowEx(0, _T("RICHEDIT"),_T(""),WS_VISIBLE | WS_CHILD | WS_BORDER | WS_HSCROLL | WS_VSCROLL | ES_NOHIDESEL | ES_AUTOVSCROLL | ES_MULTILINE | ES_SAVESEL, 0, 0, rc.right - rc.left, rc.bottom - rc.top, hWnd, (HMENU)IDC_RTFEDIT, hInst, NULL);

Для окна органа управления Rich Edit можно использовать следующие дополнительные стили окна:

Стиль Описание
ES_DISABLENOSCROLL Когда полосы просмотра ненужны, они не удаляются, а изображаются в заблокированном состоянии
ES_NOIME Запрещение работы редактора методов ввода (нужно только для работы с азиатскими языками)
ES_SAVESEL Когда орган управления Rich Edit теряет фокус ввода, сохраняется выделение символов, выполненное пользователем. Если вы не укажите этот стиль, после повторного получения фокуса орган управления выделит весь имеющийся в его окне текст (что не всегда удобно)
ES_SELFIME Разрешение работы редактора методов ввода (нужно только для работы с азиатскими языками)
ES_SUNKEN Окно органа управления Rich Edit выглядит как углубленное в поверхность родительского окна
ES_VERTICAL Рисование в вертикальном направлении (нужно только для работы с азиатскими языками)

Кроме перечисленных выше стилей можно использовать следующие стили, определенные для обычного органа управления Edit:

Стиль Описание
ES_AUTOHSCROLL Выполняется автоматическая свертка текста по горизонтали. Когда при наборе текста достигается правая граница окна ввода, весь текст сдвигается влево на 10 символов
ES_AUTOVSCROLL Выполняется автоматическая свертка текста по вертикали. Когда при наборе текста достигается нижняя граница окна ввода, весь текст сдвигается вверх на одну строку
ES_CENTER Центровка строк по горизонтали в многострочном текстовом редакторе
ES_LEFT Выравнивание текста по левой границе окна редактирования
ES_MULTILINE Создается многострочный редактор текста
ES_NOHIDESEL Если редактор текста теряет фокус ввода, при использовании данного стиля выделенный ранее фрагмент текста отображается в инверсном цвете. Если этот стиль не указан, при потере фокуса ввода выделение фрагмента пропадает и появляется вновь только тогда, когда редактор текста вновь получает фокус ввода
ES_READONLY Создаваемый орган управления предназначен только для просмотра текста, но не для редактирования
ES_WANTRETURN Стиль используется в комбинации со стилем ES_MULTILINE. Используется только в диалоговых панелях. При использовании этого стиля клавиша <Enter> действует аналогично кнопке диалоговой панели, выбранной по умолчанию
ES_RIGHT Выравнивание текста по правой границе окна редактирования

Некоторые стили, определенные для органа управления Edit нельзя использовать при создании органа управления Rich Edit. Вот список таких стилей:

Стиль, который нельзя использовать для органа управления Rich Edit Описание
ES_LOWERCASE Выполняется автоматическое преобразование введенных символов в строчные
ES_OEMCONVERT Выполняется автоматическое преобразование кодировки введенных символов из ANSI в OEM и обратно. Обычно используется для ввода имен файлов
ES_PASSWORD Этот стиль используется для ввода паролей или аналогичной информации. Вместо введенных символов отображается символ "*" или другой, указанный при помощи сообщения EM_SETPASSWORDCHAR
ES_UPPERCASE Выполняется автоматическое преобразование введенных символов в заглавные

Дополнительные стили окна могут комбинироваться между собой и со стандартными стилями окна при помощи логической операции ИЛИ.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: