Создание редактора текста
Редактор текста
Для создания текстового редактора, достаточно создать на базе класса "edit" орган управления, вызвав функцию CreateWindow. После этого функция родительского окна будет получать от редактора сообщение с кодом WM_COMMAND (как и от других аналогичных органов управления). Вместе с этим сообщением в функцию окна будут передаваться коды извещения, отражающие изменения состояния редактора текста.
Для создания редактора текста (однострочного или многострочного) следует вызвать функцию CreateWindow, передав ей в качестве первого параметра указатель на строку "edit":
hwndEdit = CreateWindow(_T("edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT, 30, 30, 300, 30, hwnd, (HMENU) ID_EDIT, hInst, NULL);
Приведем список стилей окна, которые используются при создании редактора текста.
Стиль | Описание |
ES_AUTOHSCROLL | Выполняется автоматическая свертка текста по горизонтали. Когда при наборе текста достигается правая граница окна ввода, весь текст сдвигается влево на 10 символов |
ES_AUTOVSCROLL | Выполняется автоматическая свертка текста по вертикали. Когда при наборе текста достигается нижняя граница окна ввода, весь текст сдвигается вверх на одну строку |
ES_CENTER | Центровка строк по горизонтали в многострочном текстовом редакторе |
ES_LEFT | Выравнивание текста по левой границе окна редактирования |
ES_LOWERCASE | Выполняется автоматическое преобразование введенных символов в строчные (маленькие) |
ES_MULTILINE | Создается многострочный редактор текста |
ES_NOHIDESEL | Если редактор текста теряет фокус ввода, при использовании данного стиля выделенный ранее фрагмент текста отображается в инверсном цвете. Если этот стиль не указан, при потере фокуса ввода выделение фрагмента пропадает и появляется вновь только тогда, когда редактор текста вновь получает фокус ввода |
ES_OEMCONVERT | Выполняется автоматическое преобразование кодировки введенных символов из ANSI в OEM и обратно. Обычно используется для ввода имен файлов |
ES_PASSWORD | Этот стиль используется для ввода паролей или аналогичной информации. Вместо вводимых символов отображается символ "*" или другой, указанный при помощи сообщения EM_SETPASSWORDCHAR (см. ниже раздел, посвященный сообщениям для редактора текста) |
ES_READONLY | Создаваемый орган управления предназначен только для просмотра текста, но не для редактирования. Этот стиль можно использовать в версии 3.1 операционной системы Windows или в более поздней версии |
ES_RIGHT | Выравнивание текста по правой границе окна редактирования |
ES_UPPERCASE | Выполняется автоматическое преобразование введенных символов в заглавные (большие) |
ES_WANTRETURN | Стиль используется в комбинации со стилем ES_MULTILINE. Используется только в диалоговых панелях. При использовании этого стиля клавиша <Enter> действует аналогично кнопке диалоговой панели, выбранной по умолчанию. Этот стиль можно использовать в версии 3.1 операционной системы Windows или в более поздней версии |
|
|