Операционная система Windows 95 для программиста
© Александр Фролов, Григорий Фролов
Том 22, М.: Диалог-МИФИ, 1993, 271 стр.
Орган управления 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 |
Выполняется автоматическое
преобразование введенных символов в заглавные |
Дополнительные стили окна могут
комбинироваться между собой и со стандартными
стилями окна при помощи логической операции ИЛИ.
|