Класс CRichEditCtrl
Предоставляет функции элемента управления форматированным редактированием.
Синтаксис
class CRichEditCtrl : public CWnd
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CRichEditCtrl::CRichEditCtrl |
Формирует объект CRichEditCtrl . |
Открытые методы
Имя | Описание |
---|---|
CRichEditCtrl::CanPaste |
Определяет, можно ли вставить содержимое буфера обмена в этот элемент управления расширенными изменениями. |
CRichEditCtrl::CanRedo |
Определяет, есть ли какие-либо действия в очереди повторного входа элемента управления. |
CRichEditCtrl::CanUndo |
Определяет, можно ли отменить операцию редактирования. |
CRichEditCtrl::CharFromPos |
Извлекает сведения о символе, близком к указанной точке в клиентской области элемента управления редактирования. |
CRichEditCtrl::Clear |
Очищает текущий выбор. |
CRichEditCtrl::Copy |
Копирует текущий выбор в буфер обмена. |
CRichEditCtrl::Create |
Создает элемент управления полнофункциональные изменения Windows и связывает его с этим CRichEditCtrl объектом. |
CRichEditCtrl::CreateEx |
Создает элемент управления полнофункциональные изменения Windows с указанными расширенными стилями Windows и связывает его с этим CRichEditCtrl объектом. |
CRichEditCtrl::Cut |
Вырезает текущий выбор в буфер обмена. |
CRichEditCtrl::DisplayBand |
Отображает часть содержимого этого CRichEditCtrl объекта. |
CRichEditCtrl::EmptyUndoBuffer |
Сбрасывает (очищает) флаг отмены этого CRichEditCtrl объекта. |
CRichEditCtrl::FindText |
Находит текст в этом CRichEditCtrl объекте. |
CRichEditCtrl::FindWordBreak |
Находит следующий разрыв слова до или после указанной позиции символа или извлекает сведения о символе в этой позиции. |
CRichEditCtrl::FormatRange |
Форматирует диапазон текста для целевого выходного устройства. |
CRichEditCtrl::GetCharPos |
Определяет расположение заданного символа в этом CRichEditCtrl объекте. |
CRichEditCtrl::GetDefaultCharFormat |
Извлекает текущие атрибуты форматирования символов по умолчанию в этом CRichEditCtrl объекте. |
CRichEditCtrl::GetEventMask |
Извлекает маску событий для этого CRichEditCtrl объекта. |
CRichEditCtrl::GetFirstVisibleLine |
Определяет самую верхнюю видимую строку в этом CRichEditCtrl объекте. |
CRichEditCtrl::GetIRichEditOle |
Извлекает указатель на IRichEditOle интерфейс для этого элемента управления расширенными изменениями. |
CRichEditCtrl::GetLimitText |
Получает ограничение на объем текста, который пользователь может ввести в этот CRichEditCtrl объект. |
CRichEditCtrl::GetLine |
Извлекает строку текста из этого CRichEditCtrl объекта. |
CRichEditCtrl::GetLineCount |
Извлекает количество строк в этом CRichEditCtrl объекте. |
CRichEditCtrl::GetModify |
Определяет, изменилось ли содержимое этого CRichEditCtrl объекта с момента последнего сохранения. |
CRichEditCtrl::GetOptions |
Извлекает параметры элемента управления расширенными возможностями редактирования. |
CRichEditCtrl::GetParaFormat |
Извлекает атрибуты форматирования абзаца в текущем выделенном объекте CRichEditCtrl . |
CRichEditCtrl::GetPunctuation |
Извлекает текущие знаки препинания для элемента управления расширенными изменениями. Это сообщение доступно только в азиатских версиях операционной системы. |
CRichEditCtrl::GetRect |
Извлекает прямоугольник форматирования для этого CRichEditCtrl объекта. |
CRichEditCtrl::GetRedoName |
Извлекает тип следующего действия, если таковой есть, в очереди повтора элемента управления. |
CRichEditCtrl::GetSel |
Возвращает начальные и конечные позиции текущего выделения в этом CRichEditCtrl объекте. |
CRichEditCtrl::GetSelectionCharFormat |
Извлекает атрибуты форматирования символов в текущем выделенном CRichEditCtrl объекте. |
CRichEditCtrl::GetSelectionType |
Извлекает тип содержимого в текущем выборе этого CRichEditCtrl объекта. |
CRichEditCtrl::GetSelText |
Возвращает текст текущего выделенного фрагмента в этом CRichEditCtrl объекте |
CRichEditCtrl::GetTextLength |
Извлекает длину текста в символах в этом CRichEditCtrl объекте. Не включает завершающий символ NULL. |
CRichEditCtrl::GetTextLengthEx |
Извлекает количество символов или байтов в режиме полного редактирования. Принимает список флагов, указывающий метод определения длины текста в элементе управления расширенными изменениями. |
CRichEditCtrl::GetTextMode |
Извлекает текущий текстовый режим и отменяет уровень элемента управления расширенными изменениями. |
CRichEditCtrl::GetTextRange |
Извлекает указанный диапазон текста. |
CRichEditCtrl::GetUndoName |
Извлекает тип следующего действия отмены, если таковой есть. |
CRichEditCtrl::GetWordWrapMode |
Извлекает текущие параметры упаковки слов и критических слов для элемента управления расширенными изменениями. Это сообщение доступно только в азиатских версиях операционной системы. |
CRichEditCtrl::HideSelection |
Отображает или скрывает текущий выбор. |
CRichEditCtrl::LimitText |
Ограничивает объем текста, который пользователь может ввести в CRichEditCtrl объект. |
CRichEditCtrl::LineFromChar |
Определяет, какая строка содержит заданный символ. |
CRichEditCtrl::LineIndex |
Извлекает символьный индекс заданной строки в этом CRichEditCtrl объекте. |
CRichEditCtrl::LineLength |
Извлекает длину заданной строки в этом CRichEditCtrl объекте. |
CRichEditCtrl::LineScroll |
Прокручивает текст в этом CRichEditCtrl объекте. |
CRichEditCtrl::Paste |
Вставляет содержимое буфера обмена в этот элемент управления расширенными изменениями. |
CRichEditCtrl::PasteSpecial |
Вставляет содержимое буфера обмена в этот элемент управления расширенными изменениями в указанном формате данных. |
CRichEditCtrl::PosFromChar |
Извлекает координаты клиентской области указанного символа в элементе управления редактированием. |
CRichEditCtrl::Redo |
Переопределяет следующее действие в очереди повторного входа элемента управления. |
CRichEditCtrl::ReplaceSel |
Заменяет текущий выделенный фрагмент в этом CRichEditCtrl объекте указанным текстом. |
CRichEditCtrl::RequestResize |
Заставляет этот CRichEditCtrl объект отправлять уведомления об изменении размера запроса. |
CRichEditCtrl::SetAutoURLDetect |
Указывает, активна ли функция автоматического обнаружения URL-адресов в элементе управления расширенными изменениями. |
CRichEditCtrl::SetBackgroundColor |
Задает цвет фона в этом CRichEditCtrl объекте. |
CRichEditCtrl::SetDefaultCharFormat |
Задает текущие атрибуты форматирования символов по умолчанию в этом CRichEditCtrl объекте. |
CRichEditCtrl::SetEventMask |
Задает маску событий для этого CRichEditCtrl объекта. |
CRichEditCtrl::SetModify |
Задает или очищает флаг изменения для этого CRichEditCtrl объекта. |
CRichEditCtrl::SetOLECallback |
Задает COM-объект для этого элемента управления расширенными IRichEditOleCallback изменениями. |
CRichEditCtrl::SetOptions |
Задает параметры для этого CRichEditCtrl объекта. |
CRichEditCtrl::SetParaFormat |
Задает атрибуты форматирования абзаца в текущем выделенном объекте CRichEditCtrl . |
CRichEditCtrl::SetPunctuation |
Задает знаки препинания для элемента управления расширенными изменениями. Это сообщение доступно только в азиатских версиях операционной системы. |
CRichEditCtrl::SetReadOnly |
Задает параметр только для чтения для этого CRichEditCtrl объекта. |
CRichEditCtrl::SetRect |
Задает прямоугольник форматирования для этого CRichEditCtrl объекта. |
CRichEditCtrl::SetSel |
Задает выбор в этом CRichEditCtrl объекте. |
CRichEditCtrl::SetSelectionCharFormat |
Задает атрибуты форматирования символов в текущем выделенном CRichEditCtrl объекте. |
CRichEditCtrl::SetTargetDevice |
Задает целевое выходное устройство для этого CRichEditCtrl объекта. |
CRichEditCtrl::SetTextMode |
Задает текстовый режим или отменить уровень элемента управления расширенными изменениями. Сообщение завершается ошибкой, если элемент управления содержит текст. |
CRichEditCtrl::SetUndoLimit |
Задает максимальное количество действий, которые могут храниться в очереди отмены. |
CRichEditCtrl::SetWordCharFormat |
Задает атрибуты форматирования символов в текущем слове в этом CRichEditCtrl объекте. |
CRichEditCtrl::SetWordWrapMode |
Задает параметры упаковки и разбиения слов для элемента управления расширенными изменениями. Это сообщение доступно только в азиатских версиях операционной системы. |
CRichEditCtrl::StopGroupTyping |
Запрещает элементу управления собирать дополнительные действия ввода в текущее действие отмены. В элементе управления сохраняется следующее действие ввода (если таковые есть) в новое действие в очереди отмены. |
CRichEditCtrl::StreamIn |
Вставляет текст из входного потока в этот CRichEditCtrl объект. |
CRichEditCtrl::StreamOut |
Сохраняет текст из этого CRichEditCtrl объекта в выходной поток. |
CRichEditCtrl::Undo |
Отменяет последнюю операцию редактирования. |
Замечания
Элемент управления расширенными изменениями — это окно, в котором пользователь может ввести и изменить текст. Текст можно назначить символьным и абзацным форматированием и включать внедренные объекты OLE. Элементы управления расширенными изменениями предоставляют интерфейс программирования для форматирования текста. Однако приложение должно реализовать все компоненты пользовательского интерфейса, необходимые для обеспечения доступности операций форматирования для пользователя.
Этот общий элемент управления Windows (и, следовательно CRichEditCtrl
, класс) доступен только для программ под управлением Windows 95/98 и Windows NT версии 3.51 и более поздних версий. Класс CRichEditCtrl
поддерживает 2.0 и 3.0 элемента управления полнофункциональные изменения пакета SDK для Windows.
Внимание
Если вы используете элемент управления расширенными изменениями в диалоговом окне (независимо от того, является ли приложение SDI, MDI или диалоговым окном), необходимо вызвать AfxInitRichEdit
один раз перед отображением диалогового окна. Обычное место для вызова этой функции находится в функции-члене программы InitInstance
. Не нужно вызывать его при каждом отображении диалогового окна только при первом отображении. Если вы работаете с CRichEditView
ней, вам не придется вызыватьAfxInitRichEdit
.
Дополнительные сведения об использовании CRichEditCtrl
см. в следующей статье:
Пример использования элемента управления расширенными изменениями в приложении MFC см. в примере приложения WORDPAD .
Иерархия наследования
CRichEditCtrl
Требования
Заголовок: afxcmn.h
CRichEditCtrl::CanPaste
Определяет, может ли элемент управления расширенными изменениями вставить указанный формат буфера обмена.
BOOL CanPaste(UINT nFormat = 0) const;
Параметры
nFormat
Формат данных буфера обмена для запроса. Этот параметр может быть одним из стандартных форматов буфера обмена или возвращаемым значением RegisterClipboardFormat
.
Возвращаемое значение
Ненулевое значение, если формат буфера обмена может быть вставлен; в противном случае — 0.
Замечания
Если nFormat
значение равно 0, CanPaste
попробуйте любой формат в буфере обмена.
Дополнительные сведения см. в разделе EM_CANPASTE
"Сообщение и RegisterClipboardFormat
функция" в пакете SDK для Windows.
Пример
// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
m_myRichEditCtrl.Paste();
}
CRichEditCtrl::CanRedo
Определяет, содержит ли очередь повтора какие-либо действия.
BOOL CanRedo() const;
Возвращаемое значение
Ненулевое значение, если очередь повтора содержит действия, в противном случае — значение 0.
Замечания
Чтобы узнать имя операции в очереди повтора, вызовите .CRichEditCtrl::GetRedoName
Чтобы повторно выполнить последнюю операцию отмены, вызовите Redo
.
Дополнительные сведения см EM_CANREDO
. в пакете SDK для Windows.
CRichEditCtrl::CanUndo
Определяет, можно ли отменить последнюю операцию редактирования.
BOOL CanUndo() const;
Возвращаемое значение
Ненулевое значение, если последняя операция редактирования может быть отменена вызовом Undo
функции-члена; 0, если она не может быть отменена.
Замечания
Дополнительные сведения см EM_CANUNDO
. в пакете SDK для Windows.
Пример
// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
m_myRichEditCtrl.Undo();
CRichEditCtrl::CharFromPos
Извлекает сведения о символе в точке, указанной параметром pt
.
int CharFromPos(CPoint pt) const;
Параметры
pt
CPoint
Объект, содержащий координаты указанной точки.
Возвращаемое значение
Отсчитываемый от нуля индекс символа, ближайший к указанной точке. Если указанная точка выходит за пределы последнего символа элемента управления, возвращаемое значение указывает последний символ в элементе управления.
Замечания
Эта функция-член работает с расширенным элементом управления редактированием. Чтобы получить сведения для элемента управления редактированием, вызовите CEdit::CharFromPos
команду.
Дополнительные сведения см EM_CHARFROMPOS
. в пакете SDK для Windows.
CRichEditCtrl::Clear
Удаляет (очищает) текущий выбор (при наличии) в элементе управления расширенными изменениями.
void Clear();
Замечания
Удаление, выполняеме путем Clear
вызова Undo
функции-члена, можно отменить.
Чтобы удалить текущий выбор и поместить удаленное содержимое в буфер обмена, вызовите Cut
функцию-член.
Дополнительные сведения см WM_CLEAR
. в пакете SDK для Windows.
Пример
// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();
CRichEditCtrl::Copy
Копирует текущий выбор (если таковой) в элемент управления расширенными изменениями в буфер обмена.
void Copy();
Замечания
Дополнительные сведения см WM_COPY
. в пакете SDK для Windows.
Пример
// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();
CRichEditCtrl::Create
Создает элемент управления полнофункциональные изменения Windows и связывает его с этим CRichEditCtrl
объектом.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwStyle
Задает стиль элемента управления редактирования. Примените сочетание стилей окон, перечисленных в разделе "Примечания " ниже, и измените стили элементов управления, описанные в пакете SDK для Windows.
rect
Указывает размер и позицию элемента управления редактирования. Может быть объектом или RECT
структуройCRect
.
pParentWnd
Указывает родительское окно элемента управления редактирования (часто ).CDialog
Это не должно быть NULL
.
nID
Указывает идентификатор элемента управления редактирования.
Возвращаемое значение
Ненулевое значение, если инициализация выполнена успешно; в противном случае — значение 0.
Замечания
Вы создаете CRichEditCtrl
объект на двух шагах. Сначала вызовите CRichEditCtrl
конструктор, а затем вызов Create
, который создает элемент управления редактирования Windows и присоединяет его к объекту CRichEditCtrl
.
При создании расширенного элемента управления редактирования с помощью этой функции сначала необходимо загрузить необходимую библиотеку общих элементов управления. Чтобы загрузить библиотеку, вызовите глобальную функцию AfxInitRichEdit
, которая, в свою очередь, инициализирует общую библиотеку элементов управления. Необходимо вызывать AfxInitRichEdit
только один раз в процессе.
При Create
выполнении Windows отправляет в WM_CREATE
WM_NCCREATE
WM_NCCALCSIZE
элемент управления редактирования сообщения , а также WM_GETMINMAXINFO
сообщения.
Эти сообщения обрабатываются по умолчанию функциями OnNcCreate
, OnNcCalcSize
OnCreate
и OnGetMinMaxInfo
членами в базовом CWnd
классе. Чтобы расширить обработку сообщений по умолчанию, наследуйте класс, CRichEditCtrl
добавьте карту сообщений в новый класс и переопределите указанные выше функции-обработчика сообщений. Переопределите OnCreate
, например, для выполнения необходимой инициализации для нового класса.
Примените следующие стили окна к элементу управления редактирования.
WS_CHILD
Всегда.WS_VISIBLE
Обычно.WS_DISABLED
Редко.WS_GROUP
Группирование элементов управления.WS_TABSTOP
Включение элемента управления редактирования в порядок табуляции.
Дополнительные сведения о стилях окон см CreateWindow
. в пакете SDK для Windows.
Пример
m_myRichEditCtrl.Create(
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);
CRichEditCtrl::CreateEx
Создает элемент управления (дочернее окно) и связывает его с CRichEditCtrl
объектом.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwExStyle
Задает расширенный стиль создаваемого элемента управления. Список расширенных стилей Windows см dwExStyle
. в параметре CreateWindowEx
пакета SDK для Windows.
dwStyle
Задает стиль элемента управления редактирования. Примените сочетание стилей окон, перечисленных в разделе Create
"Примечания" и изменения стилей элементов управления, описанных в пакете SDK для Windows.
rect
Ссылка на RECT
структуру, описывающую размер и положение создаваемого окна в координатах pParentWnd
клиента.
pParentWnd
Указатель на окно, которое является родительским элементом элемента управления.
nID
Идентификатор дочернего окна элемента управления.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
Замечания
Используйте CreateEx
вместо Create
применения расширенных стилей Windows, указанных предисловием WS_EX_
расширенного стиля Windows.
CRichEditCtrl::CRichEditCtrl
Формирует объект CRichEditCtrl
.
CRichEditCtrl();
Замечания
Используется Create
для создания элемента управления полнофункциональные изменения Windows.
Пример
// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;
// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;
CRichEditCtrl::Cut
Удалите (вырезает) текущий выделенный фрагмент (если таковой) в элементе управления расширенными изменениями и копирует удаленный текст в буфер обмена.
void Cut();
Замечания
Удаление, выполняеме путем Cut
вызова Undo
функции-члена, можно отменить.
Чтобы удалить текущий выделенный фрагмент без размещения удаленного текста в буфер обмена, вызовите Clear
функцию-член.
Дополнительные сведения см WM_CUT
. в пакете SDK для Windows.
Пример
// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();
CRichEditCtrl::DisplayBand
Отображает часть содержимого элемента управления расширенными изменениями (текстовые и OLE-элементы), как было отформатировано FormatRange
ранее.
BOOL DisplayBand(LPRECT pDisplayRect);
Параметры
pDisplayRect
Указатель на RECT
объект или CRect
область устройства для отображения текста.
Возвращаемое значение
Ненулевое значение, если отображение отформатированного текста успешно выполнено, в противном случае — значение 0.
Замечания
Текст и элементы OLE обрезаются к области, указанной указателем pDisplayRect
.
Дополнительные сведения см EM_DISPLAYBAND
. в пакете SDK для Windows.
Пример
Пример см. в примере CRichEditCtrl::FormatRange
.
CRichEditCtrl::EmptyUndoBuffer
Сбрасывает (очищает) флаг отмены этого элемента управления расширенными изменениями.
void EmptyUndoBuffer();
Замечания
Теперь элемент управления не сможет отменить последнюю операцию редактирования. Флаг отмены устанавливается всякий раз, когда операция в элементе управления расширенными изменениями может быть отменена.
Флаг отмены автоматически очищается при вызове CWnd
функции-члена SetWindowText
.
Дополнительные сведения см EM_EMPTYUNDOBUFFER
. в пакете SDK для Windows.
Пример
// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
m_myRichEditCtrl.EmptyUndoBuffer();
ASSERT(!m_myRichEditCtrl.CanUndo());
}
CRichEditCtrl::FindText
Находит текст в элементе управления расширенными изменениями.
long FindText(
DWORD dwFlags,
FINDTEXTEX* pFindText) const;
Параметры
dwFlags
Список возможных значений см wParam
. в EM_FINDTEXTEXT
пакете SDK для Windows.
pFindText
Указатель на FINDTEXTEX
структуру, предоставляющую параметры поиска и возвращая диапазон, в котором найдено совпадение.
Возвращаемое значение
Отсчитываемая от нуля позиция символов следующего совпадения; - 1, если больше совпадений нет.
Замечания
Можно выполнить поиск вверх или вниз, задав правильные параметры диапазона в CHARRANGE
структуре в FINDTEXTEX
структуре.
Дополнительные сведения см. в статье EM_FINDTEXTEX
"Сообщение и FINDTEXTEX
структура" в пакете SDK для Windows.
Пример
// Set the selection to be the first occurrence of the
// string lpszmyString, if it is found.
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = 50;
ft.lpstrText = _T("wallaby");
long n = m_myRichEditCtrl.FindText(FR_MATCHCASE | FR_WHOLEWORD, &ft);
if (n != -1)
m_myRichEditCtrl.SetSel(ft.chrgText);
CRichEditCtrl::FindWordBreak
Находит следующий разрыв слова до или после позиции, указанной в параметре nStart
.
DWORD FindWordBreak(
UINT nCode,
DWORD nStart) const;
Параметры
nCode
Указывает действие, которое нужно предпринять. Список возможных значений см. в описании параметра code
в EM_FINDWORDBREAK
пакете SDK для Windows.
nStart
Отсчитываемая от нуля позиция символа, с которой следует начать.
Возвращаемое значение
На основе параметра nCode
. Дополнительные сведения см EM_FINDWORDBREAK
. в пакете SDK для Windows.
Замечания
Эту функцию-член можно использовать для получения сведений о символе в заданной позиции.
CRichEditCtrl::FormatRange
Форматирует диапазон текста в элементе управления расширенными изменениями для определенного устройства.
long FormatRange(
FORMATRANGE* pfr,
BOOL bDisplay = TRUE);
Параметры
pfr
Указатель на FORMATRANGE
структуру, содержащую сведения о выходе устройства. NULL
указывает, что кэшированные сведения в элементе управления расширенными изменениями можно освободить.
bDisplay
Указывает, должен ли отображаться текст. Если FALSE
текст просто измеряется.
Возвращаемое значение
Индекс последнего символа, который соответствует региону плюс один.
Замечания
Как правило, за этим вызовом следует вызов DisplayBand
.
Дополнительные сведения см. в статье EM_FORMATRANGE
"Сообщение и FORMATRANGE
структура" в пакете SDK для Windows.
Пример
// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());
FORMATRANGE fr;
// Get the page width and height from the printer.
long lPageWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
long lPageHeight = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALHEIGHT),
1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSY));
CRect rcPage(0, 0, lPageWidth, lPageHeight);
// Format the text and render it to the printer.
fr.hdc = pMyPrinterDC->m_hDC;
fr.hdcTarget = pMyPrinterDC->m_hDC;
fr.rc = rcPage;
fr.rcPage = rcPage;
fr.chrg.cpMin = 0;
fr.chrg.cpMax = -1;
m_myRichEditCtrl.FormatRange(&fr, TRUE);
// Update the display with the new formatting.
RECT rcClient;
m_myRichEditCtrl.GetClientRect(&rcClient);
m_myRichEditCtrl.DisplayBand(&rcClient);
pMyPrinterDC->DeleteDC();
}
CRichEditCtrl::GetCharPos
Получает позицию (верхний левый угол) заданного символа в этом CRichEditCtrl
объекте.
CPoint GetCharPos(long lChar) const;
Параметры
lChar
Отсчитываемый от нуля индекс символа.
Возвращаемое значение
Расположение левого верхнего угла символа, заданного lChar
.
Замечания
Символ задается путем указания его отсчитываемого от нуля значения индекса. Если lChar
значение больше индекса последнего символа в этом CRichEditCtrl
объекте, возвращаемое значение указывает координаты позиции символа только после последнего символа в этом CRichEditCtrl
объекте.
Дополнительные сведения см EM_POSFROMCHAR
. в пакете SDK для Windows.
CRichEditCtrl::GetDefaultCharFormat
Возвращает атрибуты форматирования символов по умолчанию этого CRichEditCtrl
объекта.
DWORD GetDefaultCharFormat(CHARFORMAT& cf) const; DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;
Параметры
cf
В первой версии указатель на CHARFORMAT
структуру, содержащую атрибуты форматирования символов по умолчанию.
Во второй версии указатель на CHARFORMAT2
структуру, которая является расширением Rich Edit 2.0 в CHARFORMAT
структуре, в которой хранятся атрибуты форматирования символов по умолчанию.
Возвращаемое значение
Член dwMask
cf
данных . Он указал атрибуты форматирования символов по умолчанию.
Замечания
Дополнительные сведения см. в сообщении EM_GETCHARFORMAT
и CHARFORMAT
CHARFORMAT2
структурах в пакете SDK для Windows.
Пример
Пример см. в примере SetDefaultCharFormat
.
CRichEditCtrl::GetEventMask
Возвращает маску события для этого CRichEditCtrl
объекта.
long GetEventMask() const;
Возвращаемое значение
Маска события для этого CRichEditCtrl
объекта.
Замечания
Маска события указывает, какие сообщения CRichEditCtrl
уведомления объект отправляет в родительское окно.
Дополнительные сведения см EM_GETEVENTMASK
. в пакете SDK для Windows.
Пример
Пример см. в примере CRichEditCtrl::SetEventMask
.
CRichEditCtrl::GetFirstVisibleLine
Определяет самую верхнюю видимую строку в этом CRichEditCtrl
объекте.
int GetFirstVisibleLine() const;
Возвращаемое значение
Отсчитываемый от нуля индекс самой видимой линии в этом CRichEditCtrl
объекте.
Замечания
Дополнительные сведения см EM_GETFIRSTVISIBLELINE
. в пакете SDK для Windows.
Пример
int nFirstVisible = m_myRichEditCtrl.GetFirstVisibleLine();
// Scroll the rich edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
m_myRichEditCtrl.LineScroll(-nFirstVisible, 0);
}
CRichEditCtrl::GetIRichEditOle
Обращается к интерфейсу IRichEditOle
для этого CRichEditCtrl
объекта.
IRichEditOle* GetIRichEditOle() const;
Возвращаемое значение
Указатель на IRichEditOle
интерфейс, который можно использовать для доступа к функциям OLE этого CRichEditCtrl
объекта; NULL
если интерфейс недоступен.
Замечания
Используйте этот интерфейс для доступа к функциям OLE этого CRichEditCtrl
объекта.
Дополнительные сведения см. в статье EM_GETOLEINTERFACE
"Сообщение и IRichEditOle
интерфейс" в пакете SDK для Windows.
CRichEditCtrl::GetLimitText
Возвращает ограничение текста для этого CRichEditCtrl
объекта.
long GetLimitText() const;
Возвращаемое значение
Текущее ограничение текста в байтах для этого CRichEditCtrl
объекта.
Замечания
Ограничение текста — это максимальный объем текста в байтах, элемент управления расширенными изменениями может приниматься.
Дополнительные сведения см EM_GETLIMITTEXT
. в пакете SDK для Windows.
Пример
// The new text of the rich edit control.
LPCTSTR lpszmyString = _T("Here's some text in our rich edit control!");
long nLength = (long)_tcslen(lpszmyString);
// Want the text limit to be at least the size of the new string.
if (m_myRichEditCtrl.GetLimitText() < nLength)
m_myRichEditCtrl.LimitText(nLength);
m_myRichEditCtrl.SetWindowText(lpszmyString);
CRichEditCtrl::GetLine
Извлекает строку текста из этого CRichEditCtrl
объекта.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
Параметры
nIndex
Отсчитываемый от нуля индекс извлекаемой строки.
lpszBuffer
Указывает на буфер для получения текста. Первое слово буфера должно указывать максимальное количество байтов, которые можно скопировать в буфер.
nMaxLength
Максимальное количество символов, в которые можно скопировать lpszBuffer
. Вторая форма GetLine
помещает это значение в первое слово буфера, заданного lpszBuffer
.
Возвращаемое значение
Количество символов, скопированных в lpszBuffer
.
Замечания
Скопированная строка не содержит завершающийся пустой символ.
Примечание.
Так как первое слово буфера сохраняет количество символов, которые нужно скопировать, убедитесь, что буфер не менее 4 байтов длинен.
Дополнительные сведения см EM_GETLINE
. в пакете SDK для Windows.
Пример
Пример см. в примере GetLineCount
.
CRichEditCtrl::GetLineCount
Извлекает количество строк в объекте CRichEditCtrl
.
int GetLineCount() const;
Возвращаемое значение
Количество строк в этом CRichEditCtrl
объекте.
Замечания
Дополнительные сведения см EM_GETLINECOUNT
. в пакете SDK для Windows.
Пример
int nLineLength, nLineIndex, nLineCount = m_myRichEditCtrl.GetLineCount();
CString strText, strLine;
// Dump every line of text of the rich edit control.
for (int i = 0; i < nLineCount; i++)
{
nLineIndex = m_myRichEditCtrl.LineIndex(i);
nLineLength = m_myRichEditCtrl.LineLength(nLineIndex);
m_myRichEditCtrl.GetLine(i, strText.GetBufferSetLength(nLineLength + 1),
nLineLength);
strText.SetAt(nLineLength, _T('\0')); // null terminate
strText.ReleaseBuffer(nLineLength + 1);
TRACE(_T("line %d: '%s'\r\n"), i, strText);
}
CRichEditCtrl::GetModify
Определяет, было ли изменено содержимое этого CRichEditCtrl
объекта.
BOOL GetModify() const;
Возвращаемое значение
Ненулевое значение, если текст в этом CRichEditCtrl
объекте был изменен; в противном случае — значение 0.
Замечания
Windows поддерживает внутренний флаг, указывающий, было ли изменено содержимое элемента управления расширенными изменениями. Этот флаг очищается при первом создании элемента управления редактирования и может быть снят путем вызова SetModify
функции-члена.
Дополнительные сведения см EM_GETMODIFY
. в пакете SDK для Windows.
Пример
// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
m_myRichEditCtrl.SetModify(FALSE);
CRichEditCtrl::GetOptions
Извлекает параметры, заданные в настоящее время для элемента управления расширенными изменениями.
UINT GetOptions() const;
Возвращаемое значение
Сочетание значений флага текущего параметра. Список этих значений см fOptions
. в сообщении, как описано в EM_SETOPTIONS
пакете SDK для Windows.
CRichEditCtrl::GetParaFormat
Возвращает атрибуты форматирования абзаца текущего выделенного фрагмента.
DWORD GetParaFormat(PARAFORMAT& pf) const; DWORD GetParaFormat(PARAFORMAT2& pf) const;
Параметры
pf
В первой версии указатель на PARAFORMAT
структуру для хранения атрибутов форматирования абзаца текущего выделенного фрагмента.
Во второй версии указатель на PARAFORMAT2
структуру, которая является расширением Rich Edit 2.0 в PARAFORMAT
структуре, в которой хранятся атрибуты форматирования символов по умолчанию.
Возвращаемое значение
Член dwMask
pf
данных . Он задает атрибуты форматирования абзаца, согласованные во всем текущем выборе.
Замечания
Если выбрано несколько абзацов, pf
получает атрибуты первого выбранного абзаца. Возвращаемое значение указывает, какие атрибуты согласованы по всему выбору.
Дополнительные сведения см. в сообщении EM_GETPARAFORMAT
и PARAFORMAT
PARAFORMAT2
структурах в пакете SDK для Windows.
Пример
Пример см. в примере CRichEditCtrl::SetParaFormat
.
CRichEditCtrl::GetPunctuation
Возвращает текущие знаки препинания в элементе управления расширенными изменениями.
BOOL GetPunctuation(
UINT fType,
PUNCTUATION* lpPunc) const;
Параметры
fType
Флаг типа препинания, как описано в fType
параметре EM_GETPUNCTUATION
пакета SDK для Windows.
lpPunc
Указатель на PUNCTUATION
структуру, как описано в пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение, если операция выполнена успешно, в противном случае — значение 0.
Замечания
Эта функция-член доступна только в азиатских версиях операционной системы.
CRichEditCtrl::GetRect
Извлекает прямоугольник форматирования для этого CRichEditCtrl
объекта.
void GetRect(LPRECT lpRect) const;
Параметры
lpRect
CRect
или указатель на RECT
объект для получения прямоугольника форматирования этого CRichEditCtrl
объекта.
Замечания
Прямоугольник форматирования — это ограничивающий прямоугольник для текста. Это значение не зависит от размера CRichEditCtrl
объекта.
Дополнительные сведения см EM_GETRECT
. в пакете SDK для Windows.
Пример
Пример см. в примере LimitText
.
CRichEditCtrl::GetRedoName
Извлекает тип следующего доступного действия в очереди повтора, если таковой имеется.
UNDONAMEID GetRedoName() const;
Возвращаемое значение
В случае успешного выполнения возвращает UNDONAMEID
тип перечисления, GetRedoName
указывающий тип следующего действия в очереди повтора элемента управления. Если очередь повтора пуста или если действие повторного входа в очереди имеет неизвестный тип, GetRedoName
возвращает значение 0.
Замечания
Типы действий, которые можно отменить или повторить, включают ввод, удаление, перетаскивание, вырезание и вставку операций. Эти сведения могут быть полезны для приложений, которые предоставляют расширенный пользовательский интерфейс для операций отмены и повтора, например раскрывающийся список повторяемых действий.
CRichEditCtrl::GetSel
Извлекает границы текущего выделенного фрагмента в этом CRichEditCtrl
объекте.
void GetSel(CHARRANGE& cr) const;
void GetSel(
long& nStartChar,
long& nEndChar) const;
Параметры
cr
Ссылка на CHARRANGE
структуру для получения границ текущего выделенного фрагмента.
nStartChar
Отсчитываемый от нуля индекс первого символа в текущем выборе.
nEndChar
Отсчитываемый от нуля индекс последнего символа в текущем выборе.
Замечания
Две формы этой функции предоставляют альтернативные способы получения границ для выделения. Краткое описание этих форм:
GetSel(
cr
) Эта форма использует структуруCHARRANGE
со своимиcpMin
элементами дляcpMax
возврата границ.GetSel(
nStartChar
,nEndChar
) Эта форма возвращает границы в параметрахnStartChar
и.nEndChar
Выбор включает в себя все, если начальное (cpMin
или nStartChar
) равно 0, а конецcpMax
( или nEndChar
) — 1.
Дополнительные сведения см. в статье EM_EXGETSEL
"Сообщение и CHARRANGE
структура" в пакете SDK для Windows.
Пример
// Set the selection to be all characters after the current selection.
long nStartChar, nEndChar;
m_myRichEditCtrl.GetSel(nStartChar, nEndChar);
m_myRichEditCtrl.SetSel(nEndChar, -1);
CRichEditCtrl::GetSelectionCharFormat
Возвращает атрибуты форматирования символов текущего выделенного фрагмента.
DWORD GetSelectionCharFormat(CHARFORMAT& cf) const; DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;
Параметры
cf
В первой версии указатель на CHARFORMAT
структуру для получения атрибутов форматирования символов текущего выделенного фрагмента.
Во второй версии указатель на CHARFORMAT2
структуру, которая является расширением Rich Edit 2.0 в CHARFORMAT
структуре для получения атрибутов форматирования символов текущего выбора.
Возвращаемое значение
Член dwMask
cf
данных . Он задает атрибуты форматирования символов, согласованные в текущем выборе.
Замечания
Параметр cf
получает атрибуты первого символа в текущем выборе. Возвращаемое значение указывает, какие атрибуты согласованы по всему выбору.
Дополнительные сведения см. в сообщении EM_GETCHARFORMAT
и CHARFORMAT
CHARFORMAT2
структурах в пакете SDK для Windows.
Пример
Пример см. в примере SetSelectionCharFormat
.
CRichEditCtrl::GetSelectionType
Определяет тип выделения в этом CRichEditCtrl
объекте.
WORD GetSelectionType() const;
Возвращаемое значение
Флаги, указывающие содержимое текущего выделенного фрагмента. Сочетание следующих флагов:
SEL_EMPTY
Указывает, что текущий выбор отсутствует.SEL_TEXT
Указывает, что текущий фрагмент содержит текст.SEL_OBJECT
Указывает, что текущий выбор содержит хотя бы один элемент OLE.SEL_MULTICHAR
Указывает, что текущий фрагмент содержит несколько символов текста.SEL_MULTIOBJECT
Указывает, что текущий выбор содержит несколько объектов OLE.
Замечания
Дополнительные сведения см EM_SELECTIONTYPE
. в пакете SDK для Windows.
Пример
// Dump the selection text only if it contains at least one text character.
if (m_myRichEditCtrl.GetSelectionType() & (SEL_TEXT | SEL_MULTICHAR))
{
CString strText = m_myRichEditCtrl.GetSelText();
TRACE(_T("selection text is '%s'.\r\n"), strText);
}
CRichEditCtrl::GetSelText
Извлекает текст из текущего выделенного фрагмента в этом CRichEditCtrl
объекте.
long GetSelText(LPSTR lpBuf) const; CString GetSelText() const;
Параметры
lpBuf
Указатель на буфер для получения текста в текущем выделенном фрагменте.
Возвращаемое значение
Зависит от формы:
GetSelText(lpBuf)
Количество символов, скопированных вlpBuf
, не включая завершение null.GetSelText( )
Строка, содержащая текущий выбор.
Замечания
Если вы используете первую форму, необходимо убедиться, GetSelText(lpBuf)
что буфер достаточно велик для получения текста. Вызов GetSel
, чтобы определить количество символов в текущем выборе.
Дополнительные сведения см EM_GETSELTEXT
. в пакете SDK для Windows.
Пример
Пример см. в примере CRichEditCtrl::GetSelectionType
.
CRichEditCtrl::GetTextLength
Извлекает длину текста в символах в этом CRichEditCtrl
объекте, не включая завершающийся пустой символ.
long GetTextLength() const;
Возвращаемое значение
Длина текста в этом CRichEditCtrl
объекте.
Замечания
Дополнительные сведения см WM_GETTEXTLENGTH
. в пакете SDK для Windows.
Пример
// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());
CRichEditCtrl::GetTextLengthEx
Вычисляет длину текста в элементе управления расширенными изменениями.
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
Параметры
dwFlags
Значение, указывающее метод, используемый при определении длины текста. Этот элемент может быть одним или несколькими значениями, перечисленными в элементе флагов, описанных GETTEXTLENGTHEX
в пакете SDK для Windows.
uCodePage
Кодовая страница для перевода (CP_ACP
для кодовой страницы ANSI, 1200 для Юникода).
Возвращаемое значение
Количество символов или байтов в элементе управления редактированием. Если несовместимые флаги были заданы, dwFlags
эта функция-член возвращается E_INVALIDARG
.
Замечания
GetTextLengthEx
предоставляет дополнительные способы определения длины текста. Она поддерживает функциональные возможности Rich Edit 2.0. Дополнительные сведения см. в разделе "Расширенные элементы управления изменениями " в SDKKfor для Windows.
CRichEditCtrl::GetTextMode
Извлекает текущий текстовый режим и отменяет уровень элемента управления расширенными изменениями.
UINT GetTextMode() const;
Возвращаемое значение
Набор битовых флагов из TEXTMODE
типа перечисления, как описано в пакете SDK для Windows. Флаги указывают текущий текстовый режим и уровень отмены элемента управления.
CRichEditCtrl::GetTextRange
Возвращает указанный диапазон символов.
int GetTextRange(
int nFirst,
int nLast,
CString& refString) const;
Параметры
nFirst
Индекс позиции символа, непосредственно предшествующий первому символу в диапазоне.
nLast
Позиция символа сразу после последнего символа в диапазоне.
refString
Ссылка на CString
объект, который получит текст.
Возвращаемое значение
Количество скопированных символов, не включая завершающийся символ NULL.
Замечания
Дополнительные сведения см EM_GETTEXTRANGE
. в пакете SDK для Windows.
GetTextRange
поддерживает функциональные возможности Rich Edit 2.0. Дополнительные сведения см. в разделе "Расширенные элементы управления изменениями " в SDKKfor для Windows.
CRichEditCtrl::GetUndoName
Извлекает тип следующего доступного действия в очереди отмены, если таковой имеется.
UNDONAMEID GetUndoName() const;
Возвращаемое значение
Если действие отмены находится в очереди отмены элемента управления, возвращает тип перечисления UNDONAMEID, GetUndoName
указывающий тип следующего действия в очереди. Если очередь отмены пуста или если действие отмены в очереди имеет неизвестный тип, GetUndoName
возвращает значение 0.
Замечания
Типы действий, которые можно отменить или повторить, включают ввод, удаление, перетаскивание, вырезание и вставку операций. Эти сведения могут быть полезны для приложений, которые предоставляют расширенный пользовательский интерфейс для операций отмены и повтора, например раскрывающийся список действий, которые могут быть отменены.
CRichEditCtrl::GetWordWrapMode
Извлекает текущие параметры упаковки слов и критических слов для элемента управления расширенными изменениями.
UINT GetWordWrapMode() const;
Возвращаемое значение
Текущие параметры упаковки слов и разбиения слов. Эти параметры описаны в EM_SETWORDWRAPMODE
пакете SDK для Windows.
Замечания
Эта функция-член доступна только для версий операционной системы на азиатском языке.
CRichEditCtrl::HideSelection
Изменяет видимость выделения.
void HideSelection(
BOOL bHide,
BOOL bPerm);
Параметры
bHide
Указывает, следует ли отображать или скрывать выделение, TRUE
чтобы скрыть выделение.
bPerm
Указывает, должно ли это изменение видимости выделения быть постоянным.
Замечания
Если bPerm
это TRUE
так, он изменяет ECO_NOHIDESEL
параметр для этого CRichEditCtrl
объекта. Краткое описание этого параметра см. в разделе SetOptions
. Эту функцию можно использовать для задания всех параметров этого CRichEditCtrl
объекта.
Дополнительные сведения см EM_HIDESELECTION
. в пакете SDK для Windows.
Пример
// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);
CRichEditCtrl::LimitText
Ограничивает длину текста, который пользователь может ввести в элемент управления редактированием.
void LimitText(long nChars = 0);
Параметры
nChars
Указывает длину (в байтах) текста, в который пользователь может ввести. Если этот параметр равен 0 (значение по умолчанию), длина текста имеет значение 64 КБ.
Замечания
Изменение ограничения текста ограничивает только текст, который пользователь может ввести. Он не влияет на любой текст, уже размещенный в элементе управления редактированием, и не влияет на длину текста, скопированного в CWnd
элемент управления SetWindowText
редактирования функцией-членом. Если приложение использует SetWindowText
функцию для размещения большего текста в элементе управления редактированием, чем указано в вызове LimitText
, пользователь может удалить любой текст в элементе управления редактирования. Однако ограничение текста не позволит пользователю заменить существующий текст новым текстом, если удаление текущего выделенного фрагмента не приведет к снижению предела текста.
Примечание.
Для ограничения текста каждый элемент OLE считается одним символом.
Дополнительные сведения см EM_EXLIMITTEXT
. в пакете SDK для Windows.
Пример
// Limit the number of characters to be the maximum number visible.
// Get the text metrics for the edit; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDC = m_myRichEditCtrl.GetDC();
pDC->GetTextMetrics(&tm);
m_myRichEditCtrl.ReleaseDC(pDC);
CRect r;
m_myRichEditCtrl.GetRect(&r);
m_myRichEditCtrl.LimitText(r.Width() / tm.tmAveCharWidth);
CRichEditCtrl::LineFromChar
Извлекает номер строки строки, содержащей указанный индекс символов.
long LineFromChar(long nIndex) const;
Параметры
nIndex
Содержит отсчитываемое от нуля значение индекса для нужного символа в тексте элемента управления редактирования или содержит -1. Если nIndex
значение равно -1, оно указывает текущую строку, то есть строку, содержащую курсор.
Возвращаемое значение
Отсчитываемый от нуля номер строки, содержащей индекс символов, заданный nIndex
. Если nIndex
значение равно -1, возвращается число строки, содержащей первый символ выделенного фрагмента. Если выбор отсутствует, возвращается текущий номер строки.
Замечания
Индекс символов — это число символов с начала элемента управления расширенными изменениями. Для подсчета символов элемент OLE считается одним символом.
Дополнительные сведения см EM_EXLINEFROMCHAR
. в пакете SDK для Windows.
Пример
// The index of the char to get information on.
int nIndex = 11;
CString strText;
m_myRichEditCtrl.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);
// Dump the index, character and line number.
TRACE(_T("nIndex = %d, character = %c, line = %d\r\n"),
nIndex, strText[0], m_myRichEditCtrl.LineFromChar(nIndex));
CRichEditCtrl::LineIndex
Извлекает символьный индекс строки в этом CRichEditCtrl
объекте.
int LineIndex(int nLine = -1) const;
Параметры
nLine
Содержит значение индекса для нужной строки в тексте элемента управления редактирования или содержит -1. Если nLine
значение равно -1, оно указывает текущую строку, то есть строку, содержащую курсор.
Возвращаемое значение
Символьный индекс строки, указанной в nLine
или -1, если указанный номер строки больше числа строк в элементе управления редактированием.
Замечания
Индекс символов — это число символов с начала элемента управления расширенными изменениями до указанной строки.
Дополнительные сведения см EM_LINEINDEX
. в пакете SDK для Windows.
Пример
// The string for replacing.
LPCTSTR lpszmyString = _T("Hello, I'm the new second line.");
int nBegin, nEnd, nIndex;
// Replace the second line, if it exists, of the rich edit control
// with the text lpszmyString.
nIndex = m_myRichEditCtrl.LineIndex(1);
if ((nBegin = nIndex) != -1)
{
nEnd = nBegin + m_myRichEditCtrl.LineLength(nIndex);
m_myRichEditCtrl.SetSel(nBegin, nEnd);
m_myRichEditCtrl.ReplaceSel(lpszmyString);
}
CRichEditCtrl::LineLength
Извлекает длину строки в элементе управления расширенными изменениями.
int LineLength(int nLine = -1) const;
Параметры
nLine
Задает индекс символа в строке, длина которой должна быть извлечена. Если этот параметр равен -1, возвращается длина текущей строки (строка, содержащая курсор), не включая длину выделенного текста в строке. Если LineLength
вызывается для элемента управления редактированием в одной строке, этот параметр игнорируется.
Возвращаемое значение
Если LineLength
вызывается для элемента управления редактированием с несколькими строками, возвращаемое значение является длиной (в TCHAR
) строки, указанной в nLine
. Он не включает символ возврата каретки в конце строки. При LineLength
вызове элемента управления редактирования в одной строке возвращаемое значение — длина TCHAR
текста в элементе управления редактирования. Если nLine
значение больше числа символов в элементе управления, возвращаемое значение равно нулю.
Замечания
Используйте функцию-член LineIndex
, чтобы получить символьный индекс для заданного номера строки в этом CRichEditCtrl
объекте.
Дополнительные сведения см EM_LINELENGTH
. в пакете SDK для Windows.
Пример
Пример см. в примере LineIndex
.
CRichEditCtrl::LineScroll
Прокручивает текст элемента управления редактирования с несколькими строками.
void LineScroll(
int nLines,
int nChars = 0);
Параметры
nLines
Указывает количество строк для прокрутки по вертикали.
nChars
Указывает количество позиций символов для горизонтальной прокрутки. Это значение игнорируется, если элемент управления расширенными ES_RIGHT
ES_CENTER
изменениями имеет либо стиль. Стили редактирования указаны в Create
.
Замечания
Элемент управления редактирования не прокручивается по вертикали после последней строки текста в элементе управления редактирования. Если текущая строка плюс количество строк, указанных nLines
в элементе управления редактированием, превышает общее количество строк в элементе управления редактированием, значение корректируется таким образом, чтобы последняя строка элемента управления редактированием прокручивалась в верхней части окна управления редактированием.
LineScroll
можно использовать для прокрутки по горизонтали до последнего символа любой строки.
Дополнительные сведения см EM_LINESCROLL
. в пакете SDK для Windows.
Пример
Пример см. в примере GetFirstVisibleLine
.
CRichEditCtrl::Paste
Вставляет данные из буфера обмена CRichEditCtrl
в точку вставки, расположение курсора.
void Paste();
Замечания
Данные вставляются только в том случае, если буфер обмена содержит данные в распознаваемом формате.
Дополнительные сведения см WM_PASTE
. в пакете SDK для Windows.
Пример
// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();
CRichEditCtrl::PasteSpecial
Вставляет данные в определенный формат буфера обмена в этот CRichEditCtrl
объект.
void PasteSpecial(
UINT nClipFormat,
DWORD dvAspect = 0,
HMETAFILE hMF = 0);
Параметры
nClipFormat
Формат буфера обмена для вставки в этот CRichEditCtrl
объект.
dvAspect
Аспект устройства для получения данных из буфера обмена.
hMF
Дескриптор метафайла, содержащего знаковое представление объекта, который будет вставлен.
Замечания
Новый материал вставляется в точку вставки, расположение курсора.
Дополнительные сведения см EM_PASTESPECIAL
. в пакете SDK для Windows.
Пример
// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);
CRichEditCtrl::PosFromChar
Извлекает координаты клиентской области указанного символа в элементе управления редактированием.
CPoint PosFromChar(UINT nChar) const;
Параметры
nChar
Отсчитываемый от нуля индекс символа.
Возвращаемое значение
Позиция символа (x, y). Для элемента управления редактированием в одной строке координата y всегда равна нулю.
Замечания
Дополнительные сведения см EM_POSFROMCHAR
. в пакете SDK для Windows.
CRichEditCtrl::Redo
Переопределяет следующее действие в очереди повторного входа элемента управления.
BOOL Redo();
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Дополнительные сведения см EM_REDO
. в пакете SDK для Windows.
CRichEditCtrl::ReplaceSel
Заменяет текущий выбор в этом CRichEditCtrl
объекте указанным текстом.
void ReplaceSel(
LPCTSTR lpszNewText,
BOOL bCanUndo = FALSE);
Параметры
lpszNewText
Указатель на строку, завершающую значение NULL, содержащую замещающий текст.
bCanUndo
Чтобы указать, что эта функция может быть отменена, задайте для параметра TRUE
значение . Значение по умолчанию — FALSE
.
Замечания
Чтобы заменить весь текст в этом CRichEditCtrl
объекте, используйте CWnd::SetWindowText
.
Если текущего выделения нет, замещающий текст вставляется в точку вставки, то есть текущее расположение курсора.
Эта функция отформатирует вставленный текст с существующим форматированием символов. При замене всего диапазона текста (путем вызова SetSel
(0,-1) перед вызовом ReplaceSel
имеется конец символа абзаца, который сохраняет форматирование предыдущего абзаца, который наследуется вновь вставленным текстом.
Дополнительные сведения см EM_REPLACESEL
. в пакете SDK для Windows.
Пример
Пример см. в примере LineIndex
.
CRichEditCtrl::RequestResize
Заставляет этот CRichEditCtrl
объект отправлять EN_REQUESTRESIZE
сообщения уведомления в родительское окно.
void RequestResize();
Замечания
Эта функция полезна во время CWnd::OnSize
обработки бездонного CRichEditCtrl
объекта.
Дополнительные сведения см. в сообщении EM_REQUESTRESIZE
и разделе "Бездонные элементы управления расширенными изменениями " статьи "Сведения о элементах управления расширенными изменениями " в пакете SDK для Windows.
CRichEditCtrl::SetAutoURLDetect
Задает элемент управления расширенными изменениями для автоматического обнаружения URL-адреса.
BOOL SetAutoURLDetect(BOOL bEnable = TRUE);
Параметры
bEnable
Указывает, установлен ли элемент управления для автоматического обнаружения URL-адреса. Если TRUE
он включен. Если FALSE
он отключен.
Возвращаемое значение
Ноль в случае успешного выполнения, в противном случае ненулевое значение. Например, сообщение может завершиться ошибкой из-за нехватки памяти.
Замечания
Если этот параметр включен, элемент управления расширенными изменениями сканирует текст, чтобы определить, соответствует ли он стандартному формату URL-адреса. Список этих форматов URL-адресов см EM_AUTOURLDETECT
. в пакете SDK для Windows.
Примечание.
Не устанавливайте значение SetAutoURLDetect
TRUE
, если элемент управления редактированием использует эффект для текста, отличного CFE_LINK
от URL-адресов. SetAutoURLDetect
включает этот эффект для URL-адресов и отключает его для всех остальных текстов. Дополнительные сведения о эффекте CFE_LINK
см. в EN_LINK.
CRichEditCtrl::SetBackgroundColor
Задает цвет фона для этого CRichEditCtrl
объекта.
COLORREF SetBackgroundColor(
BOOL bSysColor,
COLORREF cr);
Параметры
bSysColor
Указывает, должен ли цвет фона иметь системное значение. Если это значение равно TRUE
, cr
игнорируется.
cr
Запрошенный цвет фона. Используется только в том FALSE
случаеbSysColor
.
Возвращаемое значение
Предыдущий цвет фона для этого CRichEditCtrl
объекта.
Замечания
Цвет фона можно задать для системного значения или указанного COLORREF
значения.
Дополнительные сведения см. в статье EM_SETBKGNDCOLOR
"Сообщение и COLORREF
структура" в пакете SDK для Windows.
Пример
// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));
CRichEditCtrl::SetDefaultCharFormat
Задает атрибуты форматирования символов для нового текста в этом CRichEditCtrl
объекте.
BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);
Параметры
cf
В первой версии указатель на CHARFORMAT
структуру, содержащую новые атрибуты форматирования символов по умолчанию.
Во второй версии указатель на CHARFORMAT2
структуру, которая является расширением CHARFORMAT
Rich Edit 2.0 в структуре, содержащей атрибуты форматирования символов по умолчанию.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Только атрибуты, указанные dwMask
членом cf
, изменяются этой функцией.
Дополнительные сведения см. в сообщении EM_SETCHARFORMAT
и CHARFORMAT
CHARFORMAT2
структурах в пакете SDK для Windows.
Пример
CHARFORMAT cf = {0};
// Modify the default character format so that all new
// text is striked out and not bold.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_STRIKEOUT;
m_myRichEditCtrl.SetDefaultCharFormat(cf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetDefaultCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
(CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_STRIKEOUT);
CRichEditCtrl::SetEventMask
Задает маску событий для этого CRichEditCtrl
объекта.
DWORD SetEventMask(DWORD dwEventMask);
Параметры
dwEventMask
Новая маска событий для этого CRichEditCtrl
объекта.
Возвращаемое значение
Предыдущая маска события.
Замечания
Маска события указывает, какие сообщения CRichEditCtrl
уведомления объект отправляет в родительское окно.
Дополнительные сведения см EM_SETEVENTMASK
. в пакете SDK для Windows.
Пример
// Set the event mask so that the parent gets notified when the text
// of the rich edit control changes.
m_myRichEditCtrl.SetEventMask(m_myRichEditCtrl.GetEventMask() |
ENM_CHANGE);
CRichEditCtrl::SetModify
Задает или очищает измененный флаг для элемента управления редактированием.
void SetModify(BOOL bModified = TRUE);
Параметры
bModified
Значение TRUE
указывает, что текст был изменен, а значение FALSE
указывает, что оно не изменено. По умолчанию измененный флаг устанавливается.
Замечания
Измененный флаг указывает, был ли изменен текст в элементе управления редактирования. Он автоматически устанавливается, когда пользователь изменяет текст. Его значение можно получить с GetModify
помощью функции-члена.
Дополнительные сведения см EM_SETMODIFY
. в пакете SDK для Windows.
Пример
Пример см. в примере GetModify
.
CRichEditCtrl::SetOLECallback
Предоставляет этому CRichEditCtrl
объекту IRichEditOleCallback
объект для доступа к ресурсам и сведениям, связанным с OLE.
BOOL SetOLECallback(IRichEditOleCallback* pCallback);
Параметры
pCallback
Указатель на IRichEditOleCallback
объект, который этот CRichEditCtrl
объект будет использовать для получения ресурсов и сведений, связанных с OLE.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Этот CRichEditCtrl
объект вызовет IUnknown::AddRef
увеличение количества использования для COM-объекта, указанного в pCallback
.
Дополнительные сведения см. в статье EM_SETOLECALLBACK
"Сообщение и IRichEditOleCallback
интерфейс" в пакете SDK для Windows.
CRichEditCtrl::SetOptions
Задает параметры для этого CRichEditCtrl
объекта.
void SetOptions(
WORD wOp,
DWORD dwFlags);
Параметры
wOp
Указывает тип операции. Одно из следующих значений:
ECOOP_SET
Задайте для параметров параметры, указанные в параметреdwFlags
.ECOOP_OR
Объедините текущие параметры с указаннымиdwFlags
.ECOOP_AND
Сохраняйте только те текущие параметры, которые также указаныdwFlags
.ECOOP_XOR
Логически исключаемые или текущие параметры с указаннымиdwFlags
.
dwFlags
Расширенные параметры редактирования. Значения флага перечислены в разделе "Примечания".
Замечания
Параметры могут быть сочетанием следующих значений:
ECO_AUTOWORDSELECTION
Автоматическое выделение слов при двойном щелчке мыши.ECO_AUTOVSCROLL
Автоматически прокручивает текст справа на 10 символов, когда пользователь вводит символ в конце строки. Когда пользователь нажимает клавишу ВВОД, элемент управления прокручивает весь текст обратно в положение нулю.ECO_AUTOHSCROLL
Автоматически прокручивает текст вверх по одной странице, когда пользователь нажимает клавишу ВВОД на последней строке.ECO_NOHIDESEL
Отрицает поведение по умолчанию для элемента управления редактированием. Поведение по умолчанию скрывает выделение, когда элемент управления теряет фокус ввода и показывает выбор, когда элемент управления получает фокус ввода. При указанииECO_NOHIDESEL
выделенный текст перевернут, даже если элемент управления не имеет фокуса.ECO_READONLY
Запрещает пользователю вводить или редактировать текст в элементе управления редактирования.ECO_WANTRETURN
Указывает, что возврат каретки будет вставлен, когда пользователь нажимает клавишу ВВОД при вводе текста в элемент управления многострочного редактирования в диалоговом окне. Если этот стиль не указан, нажатие клавиши ВВОД отправляет команду в родительское окно элемента управления с расширенными изменениями, которое имитирует нажатие кнопки по умолчанию родительского окна (например, кнопка "ОК" в диалоговом окне). Этот стиль не влияет на элемент управления редактированием в одной строке.ECO_SAVESEL
Сохраняет выделение, когда элемент управления теряет фокус. По умолчанию все содержимое элемента управления выбирается при восстановлении фокуса.ECO_VERTICAL
Рисует текст и объекты в вертикальном направлении. Доступно только для азиатских языков.
Дополнительные сведения см EM_SETOPTIONS
. в пакете SDK для Windows.
Пример
// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
ECO_AUTOHSCROLL);
CRichEditCtrl::SetParaFormat
Задает атрибуты форматирования абзаца для текущего выбора в этом CRichEditCtrl
объекте.
BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);
Параметры
pf
В первой версии указатель на PARAFORMAT
структуру, содержащую новые атрибуты форматирования абзаца по умолчанию.
Во второй версии указатель на PARAFORMAT2
структуру, которая является расширением Rich Edit 2.0 в PARAFORMAT
структуре, в которой хранятся атрибуты форматирования символов по умолчанию.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Только атрибуты, указанные dwMask
членом pf
, изменяются этой функцией.
Дополнительные сведения см. в сообщении EM_SETPARAFORMAT
и PARAFORMAT
PARAFORMAT2
структурах в пакете SDK для Windows.
Пример
PARAFORMAT pf;
// Modify the paragraph format so that the text is centered.
pf.cbSize = sizeof(PARAFORMAT);
pf.dwMask = PFM_ALIGNMENT;
pf.wAlignment = PFA_CENTER;
m_myRichEditCtrl.SetParaFormat(pf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetParaFormat(pf);
ASSERT(pf.dwMask &PFM_ALIGNMENT);
ASSERT(pf.wAlignment == PFA_CENTER);
CRichEditCtrl::SetPunctuation
Задает знак препинания в элементе управления расширенными изменениями.
BOOL SetPunctuation(
UINT fType,
PUNCTUATION* lpPunc);
Параметры
fType
Флаг препинания. Список возможных значений см fType
. в разделе "Параметр EM_SETPUNCTUATION
" в пакете SDK для Windows.
lpPunc
Указатель на PUNCTUATION
структуру, как описано в пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение, если выполнено успешно, в противном случае — значение 0.
Замечания
Эта функция-член доступна только для азиатских версий операционной системы.
CRichEditCtrl::SetReadOnly
ECO_READONLY
Изменяет параметр для этого CRichEditCtrl
объекта.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
Параметры
bReadOnly
Указывает, должен ли этот CRichEditCtrl
объект быть только для чтения.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Краткое описание этого параметра см. в разделе SetOptions
. Эту функцию можно использовать для задания всех параметров этого CRichEditCtrl
объекта.
Дополнительные сведения см EM_SETREADONLY
. в пакете SDK для Windows.
Пример
// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);
CRichEditCtrl::SetRect
Задает прямоугольник форматирования для этого CRichEditCtrl
объекта.
void SetRect(LPCRECT lpRect);
Параметры
lpRect
CRect
или указатель на объект RECT
, указывающий новые границы прямоугольника форматирования.
Замечания
Прямоугольник форматирования — это ограничивающий прямоугольник для текста. Ограничивающий прямоугольник не зависит от размера полного окна управления редактированием. При первом создании этого CRichEditCtrl
объекта прямоугольник форматирования совпадает с размером клиентской области окна. Используйте SetRect
для создания прямоугольника форматирования большего или меньшего размера, чем в окне полного редактирования.
Дополнительные сведения см EM_SETRECT
. в пакете SDK для Windows.
Пример
CRect r;
m_myRichEditCtrl.GetRect(&r);
// Reduce the formatting rect of the rich edit control by
// 10 pixels on each side.
if ((r.Width() > 20) && (r.Height() > 20))
{
r.DeflateRect(0, 20);
m_myRichEditCtrl.SetRect(&r);
}
CRichEditCtrl::SetSel
Задает выделение в этом CRichEditCtrl
объекте.
void SetSel(
long nStartChar,
long nEndChar);
void SetSel(CHARRANGE& cr);
Параметры
nStartChar
Отсчитываемый от нуля индекс первого символа для выбора.
nEndChar
Отсчитываемый от нуля индекс последнего символа выделения.
cr
CHARRANGE
Структура, содержащая границы текущего выделенного фрагмента.
Замечания
Две формы этой функции предоставляют альтернативные способы задания границ для выделения. Краткое описание этих форм:
SetSel(
cr
) Эта форма использует структуруCHARRANGE
со своимиcpMin
элементами дляcpMax
задания границ.SetSel(
nStartChar
,nEndChar
) Эта форма использует параметрыnStartChar
и nEndChar для задания границ.
Курсор помещается в конец выбора, указанного большими индексами начального (cpMin
или nStartChar
) и конца (cpMax
или nEndChar
) индексов. Эта функция прокручивает содержимое CRichEditCtrl
, чтобы курсор был видимым.
Чтобы выбрать весь текст в этом CRichEditCtrl
объекте, вызовите SetSel
начальный индекс 0 и конечный индекс – 1.
Дополнительные сведения см. в статье EM_EXSETSEL
"Сообщение и CHARRANGE
структура" в пакете SDK для Windows.
Пример
Пример см. в примере GetSel
.
CRichEditCtrl::SetSelectionCharFormat
Задает атрибуты форматирования символов для текста в текущем выделенном фрагменте этого CRichEditCtrl
объекта.
BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);
Параметры
cf
В первой версии указатель на CHARFORMAT
структуру, содержащую новые атрибуты форматирования символов для текущего выбора.
Во второй версии указатель на CHARFORMAT2
структуру, которая является расширением Rich Edit 2.0 в CHARFORMAT
структуре, содержащей новые атрибуты форматирования символов для текущего выбора.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Только атрибуты, указанные dwMask
членом cf , изменяются этой функцией.
Дополнительные сведения см EM_SETCHARFORMAT
. в статье и CHARFORMAT
CHARFORMAT2
структурах в пакете SDK для Windows.
Пример
CHARFORMAT cf;
// Modify the selection format so that the selected text is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetSelectionCharFormat(cf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetSelectionCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
(CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_BOLD);
CRichEditCtrl::SetTargetDevice
Задает целевое устройство и ширину линии, используемую для форматирования WYSIWYG (то, что вы видите) в этом CRichEditCtrl
объекте.
BOOL SetTargetDevice(
HDC hDC,
long lLineWidth);
BOOL SetTargetDevice(
CDC& dc,
long lLineWidth);
Параметры
hDC
Обработка контекста устройства для нового целевого устройства.
lLineWidth
Ширина строки, используемая для форматирования.
dc
CDC
для нового целевого устройства.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Если эта функция выполнена успешно, элемент управления расширенными изменениями владеет контекстом устройства, переданным в качестве параметра. В этом случае вызывающая функция не должна уничтожать контекст устройства.
Дополнительные сведения см EM_SETTARGETDEVICE
. в пакете SDK для Windows.
Пример
// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());
// Get line width information from the printer.
long lLineWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
// Set the printer as the target device.
m_myRichEditCtrl.SetTargetDevice(*pMyPrinterDC, lLineWidth);
pMyPrinterDC->DeleteDC();
}
CRichEditCtrl::SetTextMode
Задает текстовый режим или уровень отмены и повтора для элемента управления расширенными изменениями.
BOOL SetTextMode(UINT fMode);
Параметры
fMode
Задает новые параметры текстового режима элемента управления и параметры уровня отмены. Список возможных значений см. в параметре EM_SETTEXTMODE
режима в пакете SDK для Windows.
Возвращаемое значение
Ноль в случае успешного выполнения, в противном случае ненулевое значение.
Замечания
Описание текстовых режимов см EM_SETTEXTMODE
. в пакете SDK для Windows.
Эта функция-член завершается ошибкой, если элемент управления содержит текст. Чтобы убедиться, что элемент управления пуст, отправьте WM_SETTEXT
сообщение с пустой строкой.
CRichEditCtrl::SetUndoLimit
Задает максимальное количество действий, которые могут храниться в очереди отмены.
UINT SetUndoLimit(UINT nLimit);
Параметры
nLimit
Указывает максимальное количество действий, которые могут храниться в очереди отмены. Установите значение нулю, чтобы отключить отмену.
Возвращаемое значение
Новое максимальное количество действий отмены для элемента управления расширенными изменениями.
Замечания
По умолчанию максимальное количество действий в очереди отмены — 100. Если увеличить это число, для размещения нового числа должно быть достаточно доступной памяти. Для повышения производительности установите ограничение на наименьшее возможное значение.
CRichEditCtrl::SetWordCharFormat
Задает атрибуты форматирования символов для выбранного в данный момент слова в этом CRichEditCtrl
объекте.
BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);
Параметры
cf
В первой версии указатель на CHARFORMAT
структуру, содержащую новые атрибуты форматирования символов для выбранного слова.
Во второй версии указатель на CHARFORMAT2
структуру, которая является расширением Rich Edit 2.0 в CHARFORMAT
структуре, содержащей новые атрибуты форматирования символов для выбранного слова.
Возвращаемое значение
Ненулевое значение при успешном выполнении; в противном случае — значение 0.
Замечания
Только атрибуты, указанные dwMask
членом cf
, изменяются этой функцией.
Дополнительные сведения см. в сообщении EM_SETCHARFORMAT
и CHARFORMAT
CHARFORMAT2
структурах в пакете SDK для Windows.
Пример
CHARFORMAT cf;
// Modify the word format so that the selected word is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetWordCharFormat(cf);
CRichEditCtrl::SetWordWrapMode
Задает параметры упаковки и разбиения слов для элемента управления расширенными изменениями.
UINT SetWordWrapMode(UINT uFlags) const;
Параметры
uFlags
Параметры, заданные для упаковки слов и разбиения слов. Список возможных параметров см EM_SETWORDWRAPMODE
. в пакете SDK для Windows.
Возвращаемое значение
Текущие параметры упаковки слов и разбиения слов.
Замечания
Это сообщение доступно только в азиатских версиях операционной системы.
CRichEditCtrl::StopGroupTyping
Запрещает элементу управления собирать дополнительные действия ввода в текущее действие отмены.
void StopGroupTyping();
Замечания
В элементе управления сохраняется следующее действие ввода (если таковые есть) в новое действие в очереди отмены.
Дополнительные сведения см EM_STOPGROUPTYPING
. в пакете SDK для Windows.
CRichEditCtrl::StreamIn
Заменяет текст в этом CRichEditCtrl
объекте текстом из указанного входного потока.
long StreamIn(
int nFormat,
EDITSTREAM& es);
Параметры
nFormat
Флаги, указывающие форматы входных данных. Дополнительные сведения см. в разделе «Примечания».
es
EDITSTREAM
структура, указывающая входной поток. Дополнительные сведения см. в разделе «Примечания».
Возвращаемое значение
Число символов, считываемых из входного потока.
Замечания
Значение nFormat
должно быть одним из следующих значений:
SF_TEXT
Указывает только чтение текста.SF_RTF
Указывает чтение текста и форматирования.
Любое из этих значений можно объединить с SFF_SELECTION
. Если SFF_SELECTION
задано, StreamIn
замените текущий выбор содержимым входного потока. Если он не указан, StreamIn
заменяет все содержимое этого CRichEditCtrl
объекта.
В параметре EDITSTREAM
es
указывается функция обратного вызова, которая заполняет буфер текстом. Эта функция обратного вызова вызывается многократно, пока входной поток не будет исчерпан.
Дополнительные сведения см. в статье EM_STREAMIN
"Сообщение и EDITSTREAM
структура" в пакете SDK для Windows.
Пример
// My callback procedure that reads the rich edit control contents
// from a file.
static DWORD CALLBACK
MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CFile* pFile = (CFile*) dwCookie;
*pcb = pFile->Read(pbBuff, cb);
return 0;
}
// The example code.
// The file from which to load the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_InFile.rtf"), CFile::modeRead);
EDITSTREAM es;
es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamInCallback;
m_myRichEditCtrl.StreamIn(SF_RTF, es);
CRichEditCtrl::StreamOut
Записывает содержимое этого CRichEditCtrl
объекта в указанный выходной поток.
long StreamOut(
int nFormat,
EDITSTREAM& es);
Параметры
nFormat
Флаги, указывающие форматы выходных данных. Дополнительные сведения см. в разделе «Примечания».
es
EDITSTREAM
структура, указывающая выходной поток. Дополнительные сведения см. в разделе «Примечания».
Возвращаемое значение
Число символов, записанных в выходной поток.
Замечания
Значение nFormat
должно быть одним из следующих значений:
SF_TEXT
Указывает только написание текста.SF_RTF
Указывает написание текста и форматирования.SF_RTFNOOBJS
Указывает написание текста и форматирования, заменяя элементы OLE пробелами.SF_TEXTIZED
Указывает написание текста и форматирования с текстовыми представлениями элементов OLE.
Любое из этих значений можно объединить с SFF_SELECTION
. Если SFF_SELECTION
задано, StreamOut
записывает текущий выбор в выходной поток. Если он не указан, StreamOut
записывает все содержимое этого CRichEditCtrl
объекта.
В параметре EDITSTREAM
es
указывается функция обратного вызова, которая заполняет буфер текстом. Эта функция обратного вызова вызывается многократно, пока выходной поток не будет исчерпан.
Дополнительные сведения см. в статье EM_STREAMOUT
"Сообщение и EDITSTREAM
структура" в пакете SDK для Windows.
Пример
// My callback procedure that writes the rich edit control contents
// to a file.
static DWORD CALLBACK
MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CFile* pFile = (CFile*) dwCookie;
pFile->Write(pbBuff, cb);
*pcb = cb;
return 0;
}
// The example code.
// The file to store the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_OutFile.rtf"),
CFile::modeCreate | CFile::modeWrite);
EDITSTREAM es;
es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamOutCallback;
m_myRichEditCtrl.StreamOut(SF_RTF, es);
CRichEditCtrl::Undo
Отменяет последнюю операцию в элементе управления расширенными изменениями.
BOOL Undo();
Возвращаемое значение
Ненулевое значение, если операция отмены выполнена успешно; в противном случае — значение 0.
Замечания
Кроме того, можно отменить операцию отмены. Например, можно восстановить удаленный текст с помощью первого вызова Undo
. Пока не существует промежуточных операций редактирования, вы можете снова удалить текст с помощью второго вызова Undo
.
Дополнительные сведения см EM_UNDO
. в пакете SDK для Windows.
Пример
Пример см. в примере CanUndo
.
См. также
Пример WORDPAD для MFC
CWnd
Класс
Диаграмма иерархии
CEdit
Класс
CRichEditView
Класс