Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Операционная система Windows 95 для программиста

© Александр Фролов, Григорий Фролов
Том 22, М.: Диалог-МИФИ, 1993, 271 стр.

[Назад] [Содеожание] [Дальше]

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

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

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

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

О том, что такое DLL-библиотеки, вы уже знаете из 13 тома "Библиотеки системного программиста". Там же была описана и функция LoadLibrary.

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

hwndEdit = CreateWindowEx(0L, "RICHEDIT", "",
 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 Выполняется автоматическое преобразование введенных символов в заглавные

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

[Назад] [Содеожание] [Дальше]