Clase CRichEditCtrl
Proporciona la funcionalidad del control Rich Edit.
Sintaxis
class CRichEditCtrl : public CWnd
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CRichEditCtrl::CRichEditCtrl |
Construye un objeto CRichEditCtrl . |
Métodos públicos
Nombre | Descripción |
---|---|
CRichEditCtrl::CanPaste |
Determina si el contenido del Portapapeles se puede pegar en este control de edición enriquecido. |
CRichEditCtrl::CanRedo |
Determina si hay acciones en la cola de rehacer del control. |
CRichEditCtrl::CanUndo |
Determina si se puede deshacer una operación de edición. |
CRichEditCtrl::CharFromPos |
Recupera información sobre el carácter más cercano a un punto especificado en el área cliente de un control de edición. |
CRichEditCtrl::Clear |
Borra la selección actual. |
CRichEditCtrl::Copy |
Copia la selección actual en el Portapapeles. |
CRichEditCtrl::Create |
Crea el control de edición enriquecida de Windows y lo asocia a este objeto CRichEditCtrl . |
CRichEditCtrl::CreateEx |
Crea el control de edición enriquecida de Windows con los estilos extendidos de Windows especificados y lo asocia a este objeto CRichEditCtrl . |
CRichEditCtrl::Cut |
Corta la selección actual en el Portapapeles. |
CRichEditCtrl::DisplayBand |
Muestra una parte del contenido de este objeto CRichEditCtrl . |
CRichEditCtrl::EmptyUndoBuffer |
Restablece (borra) la marca de deshacer de este objeto CRichEditCtrl . |
CRichEditCtrl::FindText |
Busca texto dentro de este objeto CRichEditCtrl . |
CRichEditCtrl::FindWordBreak |
Busca el siguiente salto de palabra antes o después de la posición de carácter especificada, o recupera información sobre el carácter en esa posición. |
CRichEditCtrl::FormatRange |
Da formato a un intervalo de texto para el dispositivo de salida de destino. |
CRichEditCtrl::GetCharPos |
Determina la ubicación de un carácter determinado dentro de este objeto CRichEditCtrl . |
CRichEditCtrl::GetDefaultCharFormat |
Recupera los atributos de formato de caracteres predeterminados actuales en este objeto CRichEditCtrl . |
CRichEditCtrl::GetEventMask |
Recupera la máscara de eventos de este objeto CRichEditCtrl . |
CRichEditCtrl::GetFirstVisibleLine |
Determina la línea visible situada más arriba en este objeto CRichEditCtrl . |
CRichEditCtrl::GetIRichEditOle |
Recupera un puntero a la interfaz IRichEditOle para este control de edición enriquecido. |
CRichEditCtrl::GetLimitText |
Obtiene el límite de la cantidad de texto que un usuario puede escribir en este objeto CRichEditCtrl . |
CRichEditCtrl::GetLine |
Recupera una línea de texto de este objeto CRichEditCtrl . |
CRichEditCtrl::GetLineCount |
Recupera el número de líneas de este objeto CRichEditCtrl . |
CRichEditCtrl::GetModify |
Determina si el contenido de este objeto CRichEditCtrl ha cambiado desde el último guardado. |
CRichEditCtrl::GetOptions |
Recupera las opciones de control de edición enriquecidas. |
CRichEditCtrl::GetParaFormat |
Recupera los atributos de formato de párrafo en la selección actual de este objeto CRichEditCtrl . |
CRichEditCtrl::GetPunctuation |
Recupera los caracteres de puntuación actuales para el control de edición enriquecido. Este mensaje solo está disponible en versiones de idioma asiático del sistema operativo. |
CRichEditCtrl::GetRect |
Recupera el rectángulo de formato de este objeto CRichEditCtrl . |
CRichEditCtrl::GetRedoName |
Recupera el tipo de la siguiente acción, si existe, en la cola de rehacer del control. |
CRichEditCtrl::GetSel |
Obtiene las posiciones inicial y final de la selección actual en este objeto CRichEditCtrl . |
CRichEditCtrl::GetSelectionCharFormat |
Recupera los atributos de formato de párrafo en la selección actual de este objeto CRichEditCtrl . |
CRichEditCtrl::GetSelectionType |
Recupera el tipo de contenido de la selección actual de este objeto CRichEditCtrl . |
CRichEditCtrl::GetSelText |
Obtiene el texto de la selección actual en este objeto CRichEditCtrl . |
CRichEditCtrl::GetTextLength |
Recupera la longitud del texto, en caracteres, en este objeto CRichEditCtrl . En la búsqueda no se incluye el carácter nulo de finalización. |
CRichEditCtrl::GetTextLengthEx |
Recupera el número de caracteres o bytes en la vista de edición enriquecida. Acepta una lista de marcas para indicar el método para determinar la longitud del texto en un control de edición enriquecido. |
CRichEditCtrl::GetTextMode |
Recupera el modo de texto actual y el nivel de deshacer de un control de edición enriquecido. |
CRichEditCtrl::GetTextRange |
Recupera el intervalo de texto especificado. |
CRichEditCtrl::GetUndoName |
Recupera el tipo de la siguiente acción de deshacer, si existe. |
CRichEditCtrl::GetWordWrapMode |
Recupera las opciones actuales de ajuste de palabras y separación de palabras para el control de edición enriquecido. Este mensaje solo está disponible en versiones de idioma asiático del sistema operativo. |
CRichEditCtrl::HideSelection |
Muestra u oculta la selección actual. |
CRichEditCtrl::LimitText |
Limita la cantidad de texto que un usuario puede escribir en el objeto CRichEditCtrl . |
CRichEditCtrl::LineFromChar |
Determina qué línea contiene el carácter especificado. |
CRichEditCtrl::LineIndex |
Recupera el índice de caracteres de una línea determinada en este objeto CRichEditCtrl . |
CRichEditCtrl::LineLength |
Recupera la longitud de una línea determinada en este objeto CRichEditCtrl . |
CRichEditCtrl::LineScroll |
Desplaza el texto de este objeto CRichEditCtrl . |
CRichEditCtrl::Paste |
Inserta el contenido del Portapapeles en el control de edición enriquecido. |
CRichEditCtrl::PasteSpecial |
Inserta el contenido del Portapapeles en este control de edición enriquecido en el formato de datos especificado. |
CRichEditCtrl::PosFromChar |
Recupera las coordenadas del área de cliente de un carácter especificado en un control de edición. |
CRichEditCtrl::Redo |
Rehace la siguiente acción en la cola de rehacer del control. |
CRichEditCtrl::ReplaceSel |
Reemplaza la selección actual de este objeto CRichEditCtrl por el texto especificado. |
CRichEditCtrl::RequestResize |
Obliga a este objeto CRichEditCtrl a enviar notificaciones de cambio de tamaño de solicitud. |
CRichEditCtrl::SetAutoURLDetect |
Indica si la detección automática de direcciones URL está activa en un control de edición enriquecido. |
CRichEditCtrl::SetBackgroundColor |
Establece el color de fondo de este objeto CRichEditCtrl . |
CRichEditCtrl::SetDefaultCharFormat |
Recupera los atributos de formato de caracteres predeterminados actuales en este objeto CRichEditCtrl . |
CRichEditCtrl::SetEventMask |
Recupera la máscara de eventos de este objeto CRichEditCtrl . |
CRichEditCtrl::SetModify |
Establece o borra la marca de modificación para este objeto CRichEditCtrl . |
CRichEditCtrl::SetOLECallback |
Establece el objeto COM IRichEditOleCallback para este control de edición enriquecido. |
CRichEditCtrl::SetOptions |
Establece las opciones de este objeto CRichEditCtrl . |
CRichEditCtrl::SetParaFormat |
Recupera los atributos de formato de párrafo en la selección actual de este objeto CRichEditCtrl . |
CRichEditCtrl::SetPunctuation |
Establece los caracteres de puntuación de un control de edición enriquecido. Este mensaje solo está disponible en versiones de idioma asiático del sistema operativo. |
CRichEditCtrl::SetReadOnly |
Establece la opción de solo lectura para este objeto CRichEditCtrl . |
CRichEditCtrl::SetRect |
Establece el rectángulo de formato de este objeto CRichEditCtrl . |
CRichEditCtrl::SetSel |
Establece la selección en este objeto CRichEditCtrl . |
CRichEditCtrl::SetSelectionCharFormat |
Establece los atributos de formato de párrafo en la selección actual de este objeto CRichEditCtrl . |
CRichEditCtrl::SetTargetDevice |
Establece el dispositivo de salida de destino para este objeto CRichEditCtrl . |
CRichEditCtrl::SetTextMode |
Establece el modo de texto o el nivel de deshacer de un control de edición enriquecido. Se produce un error en el mensaje si el control contiene texto. |
CRichEditCtrl::SetUndoLimit |
Establece el número máximo de acciones que se pueden almacenar en la cola de deshacer. |
CRichEditCtrl::SetWordCharFormat |
Establece los atributos de formato de párrafo en la palabra actual de este objeto CRichEditCtrl . |
CRichEditCtrl::SetWordWrapMode |
Establece las opciones de ajuste de palabras y separación de palabras para el control de edición enriquecido. Este mensaje solo está disponible en versiones de idioma asiático del sistema operativo. |
CRichEditCtrl::StopGroupTyping |
Impide que el control recopile acciones de escritura adicionales en la acción de deshacer actual. El control almacena la siguiente acción de escritura, si existe, en una nueva acción de la cola de deshacer. |
CRichEditCtrl::StreamIn |
Inserta texto de un flujo de entrada en este objeto CRichEditCtrl . |
CRichEditCtrl::StreamOut |
Almacena texto de este objeto CRichEditCtrl en un flujo de salida. |
CRichEditCtrl::Undo |
Invierte la última operación de edición. |
Comentarios
Un "control de edición enriquecida" es una ventana en la que el usuario puede escribir y editar texto. Al texto se le puede asignar un formato de caracteres y párrafos, y puede incluir objetos OLE insertados. Los controles de edición enriquecida proporcionan una interfaz de programación para dar formato al texto. Pero una aplicación debe implementar los componentes de la interfaz de usuario necesarios a fin de que las operaciones de formato estén disponibles para el usuario.
Este control de Windows Common (y, por tanto, la clase CRichEditCtrl
) solo está disponible para los programas que se ejecutan en Windows 95/98 y Windows NT 3.51, así como en las versiones posteriores de estos. La clase CRichEditCtrl
admite las versiones 2.0 y 3.0 del control de edición enriquecido de Windows SDK.
Precaución
Si usa un control de edición enriquecido en un cuadro de diálogo (independientemente de si la aplicación es SDI, MDI o basada en diálogo), debe llamar AfxInitRichEdit
una vez antes de que se muestre el cuadro de diálogo. Un lugar típico para llamar a esta función está en la función miembro del programa InitInstance
. No es necesario llamarla para cada vez que muestre el cuadro de diálogo, sino solo la primera vez. No tiene que llamar a AfxInitRichEdit
si trabaja con CRichEditView
.
Para obtener más información sobre el uso de CRichEditCtrl
, vea:
Para obtener un ejemplo de uso de un control de edición enriquecido en una aplicación MFC, vea la aplicación de ejemplo WORDPAD .
Jerarquía de herencia
CRichEditCtrl
Requisitos
Encabezado: afxcmn.h
CRichEditCtrl::CanPaste
Determina si el control de edición enriquecido puede pegar el formato del Portapapeles especificado.
BOOL CanPaste(UINT nFormat = 0) const;
Parámetros
nFormat
El formato de datos del Portapapeles que se va a consultar. Este parámetro puede ser uno de los formatos predefinidos del Portapapeles o el valor devuelto por RegisterClipboardFormat
.
Valor devuelto
Distinto de cero si se puede pegar el formato del Portapapeles; de lo contrario, 0.
Comentarios
Si nFormat
es 0, CanPaste
probará cualquier formato actualmente en el Portapapeles.
Para obtener más información, consulte el mensaje EM_CANPASTE
y la función RegisterClipboardFormat
en el SDK de Windows.
Ejemplo
// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
m_myRichEditCtrl.Paste();
}
CRichEditCtrl::CanRedo
Determina si la cola de rehacer contiene acciones.
BOOL CanRedo() const;
Valor devuelto
Distinto de cero si la cola de rehacer contiene acciones; de lo contrario, 0.
Comentarios
Para detectar el nombre de la operación en la cola de rehacer, llame CRichEditCtrl::GetRedoName
. Para rehacer la operación Deshacer más reciente, llame Redo
.
Para más información, consulte EM_CANREDO
en Windows SDK.
CRichEditCtrl::CanUndo
Determina si se puede deshacer una operación de edición.
BOOL CanUndo() const;
Valor devuelto
Valor distinto de cero si la última operación de edición se puede deshacer mediante una llamada a la función miembro Undo
; 0 si no se puede deshacer.
Comentarios
Para más información, consulte EM_CANUNDO
en Windows SDK.
Ejemplo
// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
m_myRichEditCtrl.Undo();
CRichEditCtrl::CharFromPos
Recupera información sobre el carácter en el punto especificado por el parámetro pt
.
int CharFromPos(CPoint pt) const;
Parámetros
pt
Objeto CPoint
que contiene las coordenadas del punto especificado.
Valor devuelto
Índice de caracteres de base cero del carácter más cercano al punto especificado. Si el punto especificado está más allá del último carácter del control, el valor devuelto indica el último carácter del control.
Comentarios
Esta función miembro funciona con un control de edición enriquecido. Para obtener la información de un control de edición, llame a CEdit::CharFromPos
.
Para más información, consulte EM_CHARFROMPOS
en Windows SDK.
CRichEditCtrl::Clear
Elimina (borra) la selección actual (si la hubiera) del control de edición.
void Clear();
Comentarios
La eliminación realizada por Clear
se puede deshacer mediante una llamada a la función miembro Undo
.
Para eliminar la selección actual y colocar el contenido eliminado en el portapapeles, use la función miembro Cut
.
Para más información, consulte WM_CLEAR
en Windows SDK.
Ejemplo
// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();
CRichEditCtrl::Copy
Copia la selección actual (si la hubiera) del control de edición en el Portapapeles.
void Copy();
Comentarios
Para más información, consulte WM_COPY
en Windows SDK.
Ejemplo
// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();
CRichEditCtrl::Create
Crea el control de edición enriquecida de Windows y lo asocia a este objeto CRichEditCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
Especifica el estilo del control de edición. Aplique una combinación de los estilos de ventana enumerados en la sección Comentarios a continuación y edite los estilos de control descritos en Windows SDK.
rect
Especifica el tamaño y la posición del control de edición. Puede ser un objeto CRect
o una estructura RECT
.
pParentWnd
Especifica la ventana primaria del control de edición (a menudo CDialog
). Este valor no debe ser NULL
.
nID
Especifica el identificador del control de edición.
Valor devuelto
Valor distinto de cero si la inicialización se realiza correctamente; de lo contrario, es 0.
Comentarios
El objeto CRichEditCtrl
se construye en dos pasos. En primer lugar, llame al constructor CRichEditCtrl
y luego a Create
, lo que crea el control de edición de Windows y lo adjunta al objeto CRichEditCtrl
.
Al crear un control de edición enriquecido con esta función, primero debe cargar la biblioteca de controles comunes necesaria. Para cargar la biblioteca, llame a la función global AfxInitRichEdit
, que a su vez inicializa la biblioteca de controles comunes. Solo debe llamar AfxInitRichEdit
una vez en el proceso.
Cuando Create
se ejecuta, Windows envía los mensajes WM_NCCREATE
, WM_NCCALCSIZE
, WM_CREATE
y WM_GETMINMAXINFO
al control de edición.
Estos mensajes se controlan de forma predeterminada mediante las funciones miembro OnNcCreate
, OnNcCalcSize
, OnCreate
y OnGetMinMaxInfo
de la clase base CWnd
. Para ampliar el control de mensajes predeterminado, derive una clase de CRichEditCtrl
, agregue una asignación de mensajes a la nueva clase e invalide las funciones miembro del controlador de mensajes anteriores. Invalide OnCreate
, por ejemplo, para realizar la inicialización necesaria para la nueva clase.
Aplique los siguientes estilos de ventana a un control de edición.
WS_CHILD
Siempre.WS_VISIBLE
Normalmente.WS_DISABLED
Raramente.WS_GROUP
Para agrupar controles.WS_TABSTOP
Para incluir el control de edición en el orden de tabulación.
Para obtener más información sobre los estilos de ventana, consulte CreateWindow
en Windows SDK.
Ejemplo
m_myRichEditCtrl.Create(
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);
CRichEditCtrl::CreateEx
Esta función puede usarse para crear un control (una ventana secundaria) y asociarlo con el objeto CRichEditCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwExStyle
El valor de este parámetro se usa para especificar el estilo extendido del control que se va a crear. Para obtener una lista de estilos extendidos de Windows, consulte el parámetro dwExStyle
de la función CreateWindowEx
en Windows SDK.
dwStyle
Especifica el estilo del control de edición. Aplique una combinación de los estilos de ventana enumerados en la sección Comentarios de Create
y edite los estilos de control descritos en Windows SDK.
rect
Una referencia a una estructura RECT
describiendo el tamaño y la posición de la ventana a crear, en las coordenadas cliente de pParentWnd
.
pParentWnd
Un puntero a la ventana que constituye el elemento primario del control.
nID
El identificador de ventana secundaria del control.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Usa la función CreateEx
, en lugar de Create
, para aplicar estilos extendidos de Windows. Estos se especifican en el prefacio de estilo extendido WS_EX_
de Windows.
CRichEditCtrl::CRichEditCtrl
Construye un objeto CRichEditCtrl
.
CRichEditCtrl();
Comentarios
Use Create
para construir el control de edición enriquecido de Windows.
Ejemplo
// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;
// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;
CRichEditCtrl::Cut
Elimina (corta) la selección actual (si la hubiera) del control de edición enriquecido y copia el texto eliminado en el Portapapeles.
void Cut();
Comentarios
La eliminación realizada por Cut
se puede deshacer mediante una llamada a la función miembro Undo
.
Para eliminar la selección actual sin colocar el texto eliminado en el Portapapeles, llame a la función miembro Clear
.
Para más información, consulte WM_CUT
en Windows SDK.
Ejemplo
// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();
CRichEditCtrl::DisplayBand
Muestra una parte del contenido del control de edición enriquecido (texto y elementos OLE), tal y como FormatRange
ha dado formato anteriormente.
BOOL DisplayBand(LPRECT pDisplayRect);
Parámetros
pDisplayRect
Puntero a un objeto RECT
o CRect
que especifica el área del dispositivo para mostrar el texto.
Valor devuelto
Distinto de cero si la presentación del texto con formato se realiza correctamente; de lo contrario, es 0.
Comentarios
El texto y los elementos OLE se recortan en el área especificada por el puntero pDisplayRect
.
Para más información, consulte EM_DISPLAYBAND
en Windows SDK.
Ejemplo
Vea el ejemplo de CRichEditCtrl::FormatRange
.
CRichEditCtrl::EmptyUndoBuffer
Restablece (borra) la marca de deshacer de este control de edición enriquecido.
void EmptyUndoBuffer();
Comentarios
El control de edición ya no podrá deshacer la última operación. La marca de deshacer se establece cada vez que se puede deshacer una operación dentro del control de edición enriquecido.
La marca de deshacer se borra automáticamente cada vez que se llama a la CWnd
función miembroSetWindowText
.
Para más información, consulte EM_EMPTYUNDOBUFFER
en Windows SDK.
Ejemplo
// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
m_myRichEditCtrl.EmptyUndoBuffer();
ASSERT(!m_myRichEditCtrl.CanUndo());
}
CRichEditCtrl::FindText
Busca texto en el control de edición enriquecida.
long FindText(
DWORD dwFlags,
FINDTEXTEX* pFindText) const;
Parámetros
dwFlags
Para ver una lista de valores posibles, consulte wParam
en EM_FINDTEXTEXT
en Windows SDK.
pFindText
Puntero a la estructura FINDTEXTEX
que proporciona los parámetros para la búsqueda y devuelve el intervalo donde se encontró la coincidencia.
Valor devuelto
Posición de carácter de base cero de la siguiente coincidencia; - 1 si no hay más coincidencias.
Comentarios
Puede buscar hacia arriba o hacia abajo estableciendo los parámetros de intervalo adecuados en la estructura CHARRANGE
dentro de la estructura FINDTEXTEX
.
Para más información, consulte el mensaje EM_FINDTEXTEX
y la estructura FINDTEXTEX
en Windows SDK.
Ejemplo
// 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
Busca el siguiente salto de palabra antes o después de la posición especificada por nStart
.
DWORD FindWordBreak(
UINT nCode,
DWORD nStart) const;
Parámetros
nCode
Indica la acción que se debe realizar. Para obtener una lista de los valores posibles, consulte la descripción del parámetro code
en EM_FINDWORDBREAK
en Windows SDK.
nStart
Posición de carácter basada en cero desde la que se va a iniciar.
Valor devuelto
Basado en el parámetro nCode
. Para más información, consulte EM_FINDWORDBREAK
en Windows SDK.
Comentarios
Puede usar esta función miembro para recuperar información sobre un carácter en una posición determinada.
CRichEditCtrl::FormatRange
Da formato a un intervalo de texto en un control de edición enriquecido para un dispositivo específico.
long FormatRange(
FORMATRANGE* pfr,
BOOL bDisplay = TRUE);
Parámetros
pfr
Puntero a la estructura FORMATRANGE
que contiene información sobre el dispositivo de salida. NULL
indica que la información almacenada en caché en el control de edición enriquecido se puede liberar.
bDisplay
Indica si el texto se debe representar. Si es FALSE
, el texto simplemente se mide.
Valor devuelto
Índice del último carácter que cabe en la región más uno.
Comentarios
Normalmente, esta llamada va seguida de una llamada a DisplayBand
.
Para más información, consulte el mensaje EM_FORMATRANGE
y la estructura FORMATRANGE
en Windows SDK.
Ejemplo
// 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
Obtiene la posición (esquina superior izquierda) de un carácter determinado dentro de este objeto CRichEditCtrl
.
CPoint GetCharPos(long lChar) const;
Parámetros
lChar
Índice de base cero del carácter.
Valor devuelto
Ubicación de la esquina superior izquierda del carácter especificado por lChar
.
Comentarios
El carácter se especifica mediante su valor de índice de base cero. Si lChar
es mayor que el índice del último carácter de este objeto CRichEditCtrl
, el valor devuelto especifica las coordenadas de la posición del carácter justo después del último carácter de este objeto CRichEditCtrl
.
Para más información, consulte EM_POSFROMCHAR
en Windows SDK.
CRichEditCtrl::GetDefaultCharFormat
Obtiene los atributos de formato de caracteres predeterminados de este objeto CRichEditCtrl
.
DWORD GetDefaultCharFormat(CHARFORMAT& cf) const; DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;
Parámetros
cf
En la primera versión, un puntero a una estructura CHARFORMAT
que contiene los atributos de formato de caracteres predeterminados.
En la segunda versión, un puntero a una estructura CHARFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura CHARFORMAT
, que contiene los atributos de formato de caracteres predeterminados.
Valor devuelto
Miembro de datos dwMask
de cf
. Especificó los atributos de formato de caracteres predeterminados.
Comentarios
Para obtener más información, consulte el mensaje EM_GETCHARFORMAT
, CHARFORMAT
y las estructuras CHARFORMAT2
en Windows SDK.
Ejemplo
Vea el ejemplo de SetDefaultCharFormat
.
CRichEditCtrl::GetEventMask
Obtiene la máscara de eventos para este objeto CRichEditCtrl
.
long GetEventMask() const;
Valor devuelto
La máscara de eventos para este objeto CRichEditCtrl
.
Comentarios
La máscara de eventos especifica qué mensajes de notificación envía el objeto CRichEditCtrl
a su ventana primaria.
Para más información, consulte EM_GETEVENTMASK
en Windows SDK.
Ejemplo
Vea el ejemplo de CRichEditCtrl::SetEventMask
.
CRichEditCtrl::GetFirstVisibleLine
Determina la línea visible situada más arriba en este objeto CRichEditCtrl
.
int GetFirstVisibleLine() const;
Valor devuelto
Índice de base cero de la línea visible más alta de este objeto CRichEditCtrl
.
Comentarios
Para más información, consulte EM_GETFIRSTVISIBLELINE
en Windows SDK.
Ejemplo
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
Obtiene acceso a la interfaz IRichEditOle
de este objeto CRichEditCtrl
.
IRichEditOle* GetIRichEditOle() const;
Valor devuelto
Puntero a la interfaz IRichEditOle
que se puede usar para tener acceso a la funcionalidad OLE de este objeto CRichEditCtrl
; NULL
si la interfaz no es accesible.
Comentarios
Use esta interfaz para acceder a la funcionalidad OLE de este objeto CRichEditCtrl
.
Para más información, consulte el mensaje EM_GETOLEINTERFACE
y la interfaz IRichEditOle
en Windows SDK.
CRichEditCtrl::GetLimitText
Obtiene el límite de texto de este objeto CRichEditCtrl
.
long GetLimitText() const;
Valor devuelto
Límite de texto actual, en bytes, de este objeto CRichEditCtrl
.
Comentarios
El límite de texto es la cantidad máxima de texto, en bytes, que el control de edición enriquecido puede aceptar.
Para más información, consulte EM_GETLIMITTEXT
en Windows SDK.
Ejemplo
// 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
Recupera una línea de texto de este objeto CRichEditCtrl
.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
Parámetros
nIndex
Índice de base cero de la línea que se va a recuperar.
lpszBuffer
Apunta al búfer para recibir el texto. La primera palabra del búfer debe especificar el número máximo de bytes que se pueden copiar en el búfer.
nMaxLength
Número máximo de caracteres que se pueden copiar en lpszBuffer
. La segunda forma de GetLine
coloca este valor en la primera palabra del búfer especificado por lpszBuffer
.
Valor devuelto
Número de caracteres copiados en lpszBuffer
.
Comentarios
La línea copiada no contiene un carácter de terminación nulo.
Nota:
Dado que la primera palabra del búfer almacena el número de caracteres que se van a copiar, asegúrese de que el búfer tenga al menos 4 bytes de longitud.
Para más información, consulte EM_GETLINE
en Windows SDK.
Ejemplo
Vea el ejemplo de GetLineCount
.
CRichEditCtrl::GetLineCount
Recupera el número de líneas de este objeto CRichEditCtrl
.
int GetLineCount() const;
Valor devuelto
Número de líneas de este objeto CRichEditCtrl
.
Comentarios
Para más información, consulte EM_GETLINECOUNT
en Windows SDK.
Ejemplo
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
Determina si se ha modificado el contenido de este objeto CRichEditCtrl
.
BOOL GetModify() const;
Valor devuelto
Distinto de cero si se ha modificado el texto de este objeto CRichEditCtrl
; en caso contrario, 0.
Comentarios
Windows mantiene una marca interna que indica si se ha modificado el contenido del control de edición enriquecido. Esta marca se borra cuando se crea por primera vez el control de edición y también se puede borrar si se llama a la función miembro SetModify
.
Para más información, consulte EM_GETMODIFY
en Windows SDK.
Ejemplo
// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
m_myRichEditCtrl.SetModify(FALSE);
CRichEditCtrl::GetOptions
Recupera las opciones establecidas actualmente para el control de edición enriquecido.
UINT GetOptions() const;
Valor devuelto
Combinación de los valores de marca de opción actuales. Para obtener una lista de estos valores, vea el parámetro fOptions
en el mensaje EM_SETOPTIONS
, como se describe en Windows SDK.
CRichEditCtrl::GetParaFormat
Obtiene los atributos de formato de párrafo de la selección actual.
DWORD GetParaFormat(PARAFORMAT& pf) const; DWORD GetParaFormat(PARAFORMAT2& pf) const;
Parámetros
pf
En la primera versión, un puntero a una estructura PARAFORMAT
que contiene los atributos de formato de párrafo de la selección actual.
En la segunda versión, un puntero a una estructura PARAFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura PARAFORMAT
, que contiene los atributos de formato de caracteres predeterminados.
Valor devuelto
Miembro de datos dwMask
de pf
. Especifica los atributos de formato de párrafo que son coherentes a lo largo de la selección actual.
Comentarios
Si se selecciona más de un párrafo, pf
recibe los atributos del primer párrafo seleccionado. El valor devuelto especifica qué atributos son coherentes a lo largo de la selección.
Para obtener más información, consulte el mensaje EM_GETPARAFORMAT
, PARAFORMAT
y las estructuras PARAFORMAT2
en Windows SDK.
Ejemplo
Vea el ejemplo de CRichEditCtrl::SetParaFormat
.
CRichEditCtrl::GetPunctuation
Obtiene los caracteres de puntuación actuales en un control de edición enriquecido.
BOOL GetPunctuation(
UINT fType,
PUNCTUATION* lpPunc) const;
Parámetros
fType
Marca de tipo de puntuación, como se describe en el parámetro fType
de EM_GETPUNCTUATION
en Windows SDK.
lpPunc
Puntero a una estructura PUNCTUATION
, como se describe en Windows SDK.
Valor devuelto
Distinto de cero si la operación es correcta; en caso contrario, 0.
Comentarios
Esta función miembro solo está disponible con las versiones de idioma asiático del sistema operativo.
CRichEditCtrl::GetRect
Recupera el rectángulo de formato de este objeto CRichEditCtrl
.
void GetRect(LPRECT lpRect) const;
Parámetros
lpRect
CRect
o puntero a un RECT
para recibir el rectángulo de formato de este objeto CRichEditCtrl
.
Comentarios
El rectángulo de formato es el rectángulo delimitador del texto. Este valor es independiente del tamaño del objeto CRichEditCtrl
.
Para más información, consulte EM_GETRECT
en Windows SDK.
Ejemplo
Vea el ejemplo de LimitText
.
CRichEditCtrl::GetRedoName
Recupera el tipo de la siguiente acción disponible en la cola de rehacer, si existe.
UNDONAMEID GetRedoName() const;
Valor devuelto
Si se ejecuta correctamente, GetRedoName
devuelve el tipo de enumeración UNDONAMEID
que indica el tipo de la siguiente acción en la cola de rehacer del control. Si la cola de rehacer está vacía o si la acción rehacer en la cola es de un tipo desconocido, GetRedoName
devuelve 0.
Comentarios
Los tipos de acciones que se pueden deshacer o rehacer incluyen operaciones de escritura, eliminación, arrastrar y colocar, cortar y pegar. Esta información puede ser útil para las aplicaciones que proporcionan una interfaz de usuario extendida para las operaciones Deshacer y Rehacer, como un cuadro de lista desplegable de acciones que se pueden rehacer.
CRichEditCtrl::GetSel
Recupera los límites de la selección actual en este objeto CRichEditCtrl
.
void GetSel(CHARRANGE& cr) const;
void GetSel(
long& nStartChar,
long& nEndChar) const;
Parámetros
cr
Referencia a una estructura CHARRANGE
para recibir los límites de la selección actual.
nStartChar
Índice de base cero del primer carácter en la selección actual.
nEndChar
Índice de base cero del último carácter en la selección actual.
Comentarios
Las dos formas de esta función proporcionan formas alternativas de obtener los límites de la selección. A continuación, se describen brevemente estos valores:
GetSel(
cr
) Este formulario usa laCHARRANGE
estructura con suscpMin
miembros ycpMax
para devolver los límites.GetSel(
nStartChar
,nEndChar
) Este formulario devuelve los límites de los parámetrosnStartChar
ynEndChar
.
La selección incluye todo si el principio (cpMin
o nStartChar
) es 0 y el final (cpMax
o nEndChar
) es -1.
Para más información, consulte el mensaje EM_EXGETSEL
y la estructura CHARRANGE
en Windows SDK.
Ejemplo
// 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
Obtiene los atributos de formato de párrafo de la selección actual.
DWORD GetSelectionCharFormat(CHARFORMAT& cf) const; DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;
Parámetros
cf
En la primera versión, un puntero a una estructura CHARFORMAT
que recibe los atributos de formato de carácter de la selección actual.
En la segunda versión, un puntero a una estructura CHARFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura CHARFORMAT
, que recibe los atributos de formato de carácter de la selección actual.
Valor devuelto
Miembro de datos dwMask
de cf
. Especifica los atributos de formato de carácter que son coherentes a lo largo de la selección actual.
Comentarios
El parámetro cf
recibe los atributos del primer carácter de la selección actual. El valor devuelto especifica qué atributos son coherentes a lo largo de la selección.
Para obtener más información, consulte el mensaje EM_GETCHARFORMAT
, CHARFORMAT
y las estructuras CHARFORMAT2
en Windows SDK.
Ejemplo
Vea el ejemplo de SetSelectionCharFormat
.
CRichEditCtrl::GetSelectionType
Determina el tipo de selección de este objeto CRichEditCtrl
.
WORD GetSelectionType() const;
Valor devuelto
Marcas que indican el contenido de la selección actual. Una combinación de las marcas siguientes:
SEL_EMPTY
Indica que no hay ninguna selección actual.SEL_TEXT
Indica que la selección actual contiene texto.SEL_OBJECT
Indica que la selección actual contiene al menos un elemento OLE.SEL_MULTICHAR
Indica que la selección actual contiene más de un carácter de texto.SEL_MULTIOBJECT
Indica que la selección actual contiene más de un objeto OLE.
Comentarios
Para más información, consulte EM_SELECTIONTYPE
en Windows SDK.
Ejemplo
// 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
Recupera el texto de la selección actual en este objeto CRichEditCtrl
.
long GetSelText(LPSTR lpBuf) const; CString GetSelText() const;
Parámetros
lpBuf
Puntero al búfer para recibir el texto de la selección actual.
Valor devuelto
Depende del formulario:
GetSelText(lpBuf)
Número de caracteres copiados enlpBuf
, sin incluir la terminación null.GetSelText( )
Cadena que contiene la selección actual.
Comentarios
Si usa el primer formulario, GetSelText(lpBuf)
, debe asegurarse de que el búfer es lo suficientemente grande para el texto que recibirá. Llame a GetSel
para determinar el número de caracteres de la selección actual.
Para más información, consulte EM_GETSELTEXT
en Windows SDK.
Ejemplo
Vea el ejemplo de CRichEditCtrl::GetSelectionType
.
CRichEditCtrl::GetTextLength
Recupera la longitud del texto, en caracteres, en este objeto CRichEditCtrl
, sin incluir el carácter nulo de terminación.
long GetTextLength() const;
Valor devuelto
Longitud del texto de este objeto CRichEditCtrl
.
Comentarios
Para más información, consulte WM_GETTEXTLENGTH
en Windows SDK.
Ejemplo
// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());
CRichEditCtrl::GetTextLengthEx
Calcula la longitud del texto en el control de edición enriquecida.
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
Parámetros
dwFlags
Valor que especifica el método que se va a usar para determinar la longitud del texto. Este miembro puede ser uno o varios de los valores enumerados en el miembro de marcas de GETTEXTLENGTHEX
que se describe en Windows SDK.
uCodePage
Página de códigos para la traducción (CP_ACP
para la página de códigos ANSI, 1200 para Unicode).
Valor devuelto
Número de caracteres o bytes en el control de edición. Si se establecieron marcas incompatibles en dwFlags
, esta función miembro devuelve E_INVALIDARG
.
Comentarios
GetTextLengthEx
proporciona formas adicionales de determinar la longitud del texto. Admite la funcionalidad Rich Edit 2.0. Consulte Acerca de los controles de edición enriquecidos en el SDK de Windows para obtener más información.
CRichEditCtrl::GetTextMode
Recupera el modo de texto actual y el nivel de deshacer de un control de edición enriquecido.
UINT GetTextMode() const;
Valor devuelto
Conjunto de marcas de bits del tipo de enumeración TEXTMODE
, como se describe en Windows SDK. Las marcas indican el modo de texto actual y el nivel de deshacer del control.
CRichEditCtrl::GetTextRange
Obtiene el intervalo de caracteres especificado.
int GetTextRange(
int nFirst,
int nLast,
CString& refString) const;
Parámetros
nFirst
Índice de posición de caracteres inmediatamente anterior al primer carácter del intervalo.
nLast
Posición del carácter inmediatamente después del último carácter del intervalo.
refString
Referencia a un objeto CString
que recibirá el texto.
Valor devuelto
Número de caracteres copiados, sin incluir el carácter nulo finalizado.
Comentarios
Para más información, consulte EM_GETTEXTRANGE
en Windows SDK.
GetTextRange
admite la funcionalidad Rich Edit 2.0. Consulte Acerca de los controles de edición enriquecidos en el SDK de Windows para obtener más información.
CRichEditCtrl::GetUndoName
Recupera el tipo de la siguiente acción disponible en la cola de rehacer, si existe.
UNDONAMEID GetUndoName() const;
Valor devuelto
Si una acción de deshacer está en la cola de deshacer del control, GetUndoName
devuelve el tipo de enumeración UNDONAMEID que indica el tipo de la acción siguiente en la cola. Si la cola de rehacer está vacía o si la acción rehacer en la cola es de un tipo desconocido, GetUndoName
devuelve 0.
Comentarios
Los tipos de acciones que se pueden deshacer o rehacer incluyen operaciones de escritura, eliminación, arrastrar y colocar, cortar y pegar. Esta información puede ser útil para las aplicaciones que proporcionan una interfaz de usuario extendida para las operaciones Deshacer y Rehacer, como un cuadro de lista desplegable de acciones que se pueden deshacer.
CRichEditCtrl::GetWordWrapMode
Recupera las opciones actuales de ajuste de palabras y separación de palabras para el control de edición enriquecido.
UINT GetWordWrapMode() const;
Valor devuelto
Opciones actuales de ajuste de palabras y separación de palabras. Estas opciones se describen en EM_SETWORDWRAPMODE
en Windows SDK.
Comentarios
Esta función miembro solo está disponible para las versiones de idioma asiático del sistema operativo.
CRichEditCtrl::HideSelection
Cambia la visibilidad de la selección.
void HideSelection(
BOOL bHide,
BOOL bPerm);
Parámetros
bHide
Indica si se debe mostrar u ocultar la selección, TRUE
para ocultar la selección.
bPerm
Indica si este cambio en la visibilidad de la selección debe ser permanente.
Comentarios
Cuando bPerm
es TRUE
, cambia la opción ECO_NOHIDESEL
de este objeto CRichEditCtrl
. Para ver una descripción detallada de esta opción, consulte SetOptions
. Puede usar esta función para establecer todas las opciones de este objeto CRichEditCtrl
.
Para más información, consulte EM_HIDESELECTION
en Windows SDK.
Ejemplo
// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);
CRichEditCtrl::LimitText
Limita la longitud del texto que el usuario puede escribir en un control de edición.
void LimitText(long nChars = 0);
Parámetros
nChars
Especifica la longitud (en bytes) del texto que el usuario pueda escribir. Si este parámetro es 0 (el valor predeterminado), la longitud del texto se establece en 64 000 bytes.
Comentarios
Si se modifica el límite de texto, solo se restringe el texto que el usuario puede escribir. No tiene ningún efecto sobre ningún texto que ya esté en el control de edición, ni afecta a la longitud del texto copiado en el control de edición por la función miembro SetWindowText
en CWnd
. Si una aplicación usa la función SetWindowText
para colocar más texto en un control de edición que se especifica en la llamada a LimitText
, el usuario puede eliminar cualquier texto del control de edición. Pero el límite de texto evita que el usuario reemplace el texto existente por nuevo, a menos que la eliminación de la selección actual haga que el texto esté por debajo del límite de texto.
Nota:
Para el límite de texto, cada elemento OLE cuenta como un solo carácter.
Para más información, consulte EM_EXLIMITTEXT
en Windows SDK.
Ejemplo
// 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
Recupera el número de línea de la línea que contiene el índice de caracteres especificado.
long LineFromChar(long nIndex) const;
Parámetros
nIndex
Contiene el valor de índice de base cero del carácter deseado en el texto del control de edición, o contiene -1. Si nIndex
es -1, especifica la línea actual, es decir, la línea que contiene el símbolo de inserción.
Valor devuelto
Número de línea de base cero de la línea que contiene el índice de caracteres especificado por nIndex
. Si nIndex
es -1, se devuelve el número de la línea que contiene el primer carácter de la selección. Si no hay ninguna selección, se devuelve el número de línea actual.
Comentarios
Un índice de caracteres es el número de caracteres desde el principio del control de edición. Para el recuento de caracteres, un elemento OLE se cuenta como un solo carácter.
Para más información, consulte EM_EXLINEFROMCHAR
en Windows SDK.
Ejemplo
// 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
Recupera el índice de caracteres de una línea en este objeto CRichEditCtrl
.
int LineIndex(int nLine = -1) const;
Parámetros
nLine
Contiene el valor de índice de la línea deseada en el texto del control de edición, o contiene -1. Si nLine
es -1, especifica la línea actual, es decir, la línea que contiene el símbolo de inserción.
Valor devuelto
Índice de caracteres de la línea especificada en nLine
o -1 si el número de línea especificado es mayor que el número de líneas del control de edición.
Comentarios
El índice de caracteres es el número de caracteres desde el principio del control de edición hasta la línea especificada.
Para más información, consulte EM_LINEINDEX
en Windows SDK.
Ejemplo
// 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
Recupera la longitud de una línea de un control de edición enriquecido.
int LineLength(int nLine = -1) const;
Parámetros
nLine
Especifica el índice de un carácter en la línea cuya longitud se va a recuperar. Si este parámetro es -1, se devuelve la longitud de la línea actual (la línea que contiene el símbolo de inserción), sin incluir la longitud de ningún texto seleccionado dentro de la línea. Cuando LineLength
se llama a para un control de edición de una sola línea, se omite este parámetro.
Valor devuelto
Cuando se llama a LineLength
para un control de edición de varias líneas, el valor devuelto es la longitud (en TCHAR
) de la línea especificada por nLine
. Ello no incluye el carácter de retorno de carro del final de la línea. Cuando se llama a LineLength
para una sola línea de control de edición, el valor devuelto es la longitud (en TCHAR
) del texto del control de edición. Si nLine
es mayor que el número de caracteres del control, el valor devuelto es cero.
Comentarios
Utilice la función miembro LineIndex
para recuperar un índice de caracteres para un número de línea determinado en este objeto CRichEditCtrl
.
Para más información, consulte EM_LINELENGTH
en Windows SDK.
Ejemplo
Vea el ejemplo de LineIndex
.
CRichEditCtrl::LineScroll
Desplaza el texto de un control de edición de varias líneas.
void LineScroll(
int nLines,
int nChars = 0);
Parámetros
nLines
Especifica el número de líneas que se va a desplazar en vertical.
nChars
Especifica el número de posiciones de caracteres que se va a desplazar en horizontal. Este valor se omite si el control de edición enriquecido posee el estilo ES_RIGHT
o ES_CENTER
. Los estilos de edición se especifican en Create
.
Comentarios
El control de edición no desplaza verticalmente más allá de la última línea de texto del control de edición. Si la línea actual más el número de líneas especificado por nLines
supera el número total de líneas del control de edición, el valor se ajusta para que la última línea del control de edición se desplace hasta la parte superior de la ventana de control de edición.
LineScroll
se puede usar para desplazar horizontalmente más allá del último carácter de cualquier línea.
Para más información, consulte EM_LINESCROLL
en Windows SDK.
Ejemplo
Vea el ejemplo de GetFirstVisibleLine
.
CRichEditCtrl::Paste
Inserta los datos del Portapapeles en CRichEditCtrl
en el punto de inserción, la ubicación del símbolo de inserción.
void Paste();
Comentarios
Los datos solo se insertan si el Portapapeles contiene datos en un formato conocido.
Para más información, consulte WM_PASTE
en Windows SDK.
Ejemplo
// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();
CRichEditCtrl::PasteSpecial
Pega los datos en un formato específico del Portapapeles en este objeto CRichEditCtrl
.
void PasteSpecial(
UINT nClipFormat,
DWORD dvAspect = 0,
HMETAFILE hMF = 0);
Parámetros
nClipFormat
Formato del Portapapeles para pegarlo en este objeto CRichEditCtrl
.
dvAspect
Aspecto del dispositivo para los datos que se van a recuperar del Portapapeles.
hMF
Identificador del metarchivo que contiene la vista icónica del objeto que se va a pegar.
Comentarios
El nuevo material se inserta en el punto de inserción, la ubicación del símbolo de inserción.
Para más información, consulte EM_PASTESPECIAL
en Windows SDK.
Ejemplo
// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);
CRichEditCtrl::PosFromChar
Recupera las coordenadas del área de cliente de un carácter especificado en un control de edición.
CPoint PosFromChar(UINT nChar) const;
Parámetros
nChar
El índice de base cero del carácter.
Valor devuelto
La posición del carácter (x, y). Para un control de edición de una sola línea, la coordenada y siempre es cero.
Comentarios
Para más información, consulte EM_POSFROMCHAR
en Windows SDK.
CRichEditCtrl::Redo
Rehace la siguiente acción en la cola de rehacer del control.
BOOL Redo();
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Para más información, consulte EM_REDO
en Windows SDK.
CRichEditCtrl::ReplaceSel
Reemplaza la selección actual de este objeto CRichEditCtrl
por el texto especificado.
void ReplaceSel(
LPCTSTR lpszNewText,
BOOL bCanUndo = FALSE);
Parámetros
lpszNewText
Puntero en una cadena terminada en null que contiene el texto de sustitución.
bCanUndo
Para especificar que esta función se puede deshacer, establezca el valor de este parámetro en TRUE
. El valor predeterminado es FALSE
.
Comentarios
Para reemplazar todo el texto de este objeto CRichEditCtrl
, use CWnd::SetWindowText
.
Si no hay ninguna selección actual, el texto de reemplazo se inserta en el punto de inserción, es decir, en la ubicación del símbolo de inserción actual.
Esta función dará formato al texto insertado con el formato de caracteres existente. Al reemplazar todo el intervalo de texto (llamando a SetSel
(0,-1) antes de llamar a ReplaceSel
), hay un carácter final de párrafo que conserva el formato del párrafo anterior, y que lo hereda el texto recién insertado.
Para más información, consulte EM_REPLACESEL
en Windows SDK.
Ejemplo
Vea el ejemplo de LineIndex
.
CRichEditCtrl::RequestResize
Obliga a este objeto CRichEditCtrl
a enviar mensajes de notificación EN_REQUESTRESIZE
a su ventana primaria.
void RequestResize();
Comentarios
Esta función es útil durante el procesamiento CWnd::OnSize
de un objeto CRichEditCtrl
sin fondo.
Para obtener más información, vea el mensaje EM_REQUESTRESIZE
y la sección Controles de edición enriquecida sin fondo de Acerca de los controles de edición enriquecidos en Windows SDK.
CRichEditCtrl::SetAutoURLDetect
Establece el control de edición enriquecido para detectar automáticamente una dirección URL.
BOOL SetAutoURLDetect(BOOL bEnable = TRUE);
Parámetros
bEnable
Especifica si el control se establece para detectar automáticamente una dirección URL. Si es TRUE
, está habilitado. Si es FALSE
, está deshabilitado.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero. Por ejemplo, el mensaje puede producir un error debido a una memoria insuficiente.
Comentarios
Si está habilitado, el control de edición enriquecido examinará el texto para determinar si coincide con un formato de dirección URL estándar. Para obtener una lista de estos formatos de dirección URL, consulte EM_AUTOURLDETECT
en Windows SDK.
Nota:
No establezca SetAutoURLDetect
en TRUE
si el control de edición usa el efecto CFE_LINK
para texto distinto de las direcciones URL. SetAutoURLDetect
habilita este efecto para las direcciones URL y lo deshabilita para el resto de texto. Vea EN_LINK para obtener más información acerca del efecto CFE_LINK
.
CRichEditCtrl::SetBackgroundColor
Establece el color de fondo de este objeto CRichEditCtrl
.
COLORREF SetBackgroundColor(
BOOL bSysColor,
COLORREF cr);
Parámetros
bSysColor
Indica si el color de fondo debe establecerse como el valor del sistema. Si este valor es TRUE
, cr
se omite.
cr
Color de fondo solicitado. Solo se usa si bSysColor
es FALSE
.
Valor devuelto
El color de fondo previo para este objeto CRichEditCtrl
.
Comentarios
El color de fondo se puede establecer en el valor del sistema o en un valor COLORREF
especificado.
Para más información, consulte el mensaje EM_SETBKGNDCOLOR
y la estructura COLORREF
en Windows SDK.
Ejemplo
// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));
CRichEditCtrl::SetDefaultCharFormat
Establece los atributos de formato de caracteres para el nuevo texto de este objeto CRichEditCtrl
.
BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);
Parámetros
cf
En la primera versión, un puntero a una estructura CHARFORMAT
que contiene los atributos de formato de caracteres predeterminados.
En la segunda versión, un puntero a una estructura CHARFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura CHARFORMAT
, que contiene los atributos de formato de caracteres predeterminados.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Esta función cambia solo los atributos especificados por el miembro dwMask
de cf
.
Para obtener más información, consulte el mensaje EM_SETCHARFORMAT
, CHARFORMAT
y las estructuras CHARFORMAT2
en Windows SDK.
Ejemplo
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
Recupera la máscara de eventos de este objeto CRichEditCtrl
.
DWORD SetEventMask(DWORD dwEventMask);
Parámetros
dwEventMask
La nueva máscara de eventos para este objeto CRichEditCtrl
.
Valor devuelto
Máscara de eventos anterior.
Comentarios
La máscara de eventos especifica qué mensajes de notificación envía el objeto CRichEditCtrl
a su ventana primaria.
Para más información, consulte EM_SETEVENTMASK
en Windows SDK.
Ejemplo
// 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
Establece o borra la marca modificada para un control de edición.
void SetModify(BOOL bModified = TRUE);
Parámetros
bModified
Un valor TRUE
indica que el texto se ha modificado y un valor FALSE
indica que no se ha modificado. De manera predeterminada, se establece la marca modificada.
Comentarios
La marca modificada indica si se ha modificado o no el texto del control de edición. Se establece automáticamente cada vez que el usuario modifica el texto. Su valor se puede recuperar con la función miembro GetModify
.
Para más información, consulte EM_SETMODIFY
en Windows SDK.
Ejemplo
Vea el ejemplo de GetModify
.
CRichEditCtrl::SetOLECallback
Proporciona a este objeto CRichEditCtrl
un objeto IRichEditOleCallback
que se va a usar para acceder a los recursos y la información relacionados con OLE.
BOOL SetOLECallback(IRichEditOleCallback* pCallback);
Parámetros
pCallback
Puntero a un objeto IRichEditOleCallback
que este objeto CRichEditCtrl
usará para obtener información y recursos relacionados con OLE.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Este objeto CRichEditCtrl
llamará a IUnknown::AddRef
para incrementar el recuento de uso del objeto COM especificado por pCallback
.
Para más información, consulte el mensaje EM_SETOLECALLBACK
y la interfaz IRichEditOleCallback
en Windows SDK.
CRichEditCtrl::SetOptions
Establece las opciones de este objeto CRichEditCtrl
.
void SetOptions(
WORD wOp,
DWORD dwFlags);
Parámetros
wOp
Indica el tipo de operación. Uno de los siguientes valores:
ECOOP_SET
Establezca las opciones en las especificadas pordwFlags
.ECOOP_OR
Combine las opciones actuales con las especificadas pordwFlags
.ECOOP_AND
Conserve solo las opciones actuales que también se especifican endwFlags
.ECOOP_XOR
Excluya de forma lógica O las opciones actuales con las especificadas pordwFlags
.
dwFlags
Opciones de edición enriquecida. Los valores de marca se muestran en la sección Comentarios.
Comentarios
Las opciones pueden ser una combinación de los siguientes valores:
ECO_AUTOWORDSELECTION
Selección automática de palabras al hacer doble clic.ECO_AUTOVSCROLL
Desplaza el texto automáticamente 10 caracteres hacia la derecha cuando el usuario escribe un carácter al final de la línea. Cuando el usuario pulsa la tecla ENTRAR, el control desplaza todo el texto hasta la posición 0.ECO_AUTOHSCROLL
Desplaza el texto automáticamente hacia arriba una página cuando el usuario pulsa ENTRAR en la última línea.ECO_NOHIDESEL
Niega el comportamiento predeterminado de un control de edición. El comportamiento predeterminado oculta la selección cuando el control pierde el foco de entrada y muestra la selección cuando el control recibe el foco de entrada. Si especificaECO_NOHIDESEL
, el texto seleccionado se invierte, incluso si el control no tiene el foco.ECO_READONLY
Impide que el usuario escriba o edite texto en el control de edición.ECO_WANTRETURN
Especifica que se inserte un retorno de carro cuando el usuario pulsa la tecla ENTRAR mientras escribe texto en un control de edición enriquecido de varias líneas en un cuadro de diálogo. Si no especifica este estilo, al presionar la tecla ENTRAR se envía un comando a la ventana primaria del control de edición enriquecido, que imita hacer clic en el botón predeterminado de la ventana primaria (por ejemplo, el botón Aceptar de un cuadro de diálogo). Este estilo no tiene ningún efecto en un control de edición de una sola línea.ECO_SAVESEL
Conserva la selección cuando el control pierde el foco. De forma predeterminada, se selecciona todo el contenido del control cuando recupera el foco.ECO_VERTICAL
Dibuja texto y objetos en una dirección vertical. Disponible solo para idiomas asiáticos.
Para más información, consulte EM_SETOPTIONS
en Windows SDK.
Ejemplo
// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
ECO_AUTOHSCROLL);
CRichEditCtrl::SetParaFormat
Recupera los atributos de formato de párrafo para la selección actual de este objeto CRichEditCtrl
.
BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);
Parámetros
pf
En la primera versión, un puntero a una estructura PARAFORMAT
que contiene los atributos de párrafo de caracteres predeterminados.
En la segunda versión, un puntero a una estructura PARAFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura PARAFORMAT
, que contiene los atributos de formato de caracteres predeterminados.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Esta función cambia solo los atributos especificados por el miembro dwMask
de pf
.
Para obtener más información, consulte el mensaje EM_SETPARAFORMAT
, PARAFORMAT
y las estructuras PARAFORMAT2
en Windows SDK.
Ejemplo
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
Establece la puntuación en un control de edición enriquecido.
BOOL SetPunctuation(
UINT fType,
PUNCTUATION* lpPunc);
Parámetros
fType
Marca de puntuación. Para ver una lista de valores posibles, consulte el parámetro fType
para EM_SETPUNCTUATION
en Windows SDK.
lpPunc
Puntero a una estructura PUNCTUATION
, como se describe en Windows SDK.
Valor devuelto
Distinto de cero si se realiza correctamente; de lo contrario, es 0.
Comentarios
Esta función miembro solo está disponible para las versiones de idioma asiático del sistema operativo.
CRichEditCtrl::SetReadOnly
Cambia la opción ECO_READONLY
por este objeto CRichEditCtrl
.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
Parámetros
bReadOnly
Indica si este objeto CRichEditCtrl
debe ser de solo lectura.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Para ver una descripción detallada de esta opción, consulte SetOptions
. Puede usar esta función para establecer todas las opciones de este objeto CRichEditCtrl
.
Para más información, consulte EM_SETREADONLY
en Windows SDK.
Ejemplo
// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);
CRichEditCtrl::SetRect
Establece el rectángulo de formato de este objeto CRichEditCtrl
.
void SetRect(LPCRECT lpRect);
Parámetros
lpRect
CRect
o puntero a un RECT
que indica los nuevos límites para el rectángulo de formato.
Comentarios
El rectángulo de formato es el rectángulo delimitador del texto. El rectángulo de limitación es independiente del tamaño de la ventana de control de edición enriquecido. Cuando se crea este objeto CRichEditCtrl
por primera vez, el rectángulo de formato es el mismo tamaño que el área cliente de la ventana. Use SetRect
para hacer que el rectángulo de formato sea mayor o menor que la ventana de edición enriquecida.
Para más información, consulte EM_SETRECT
en Windows SDK.
Ejemplo
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
Establece la selección en este objeto CRichEditCtrl
.
void SetSel(
long nStartChar,
long nEndChar);
void SetSel(CHARRANGE& cr);
Parámetros
nStartChar
Índice de base cero del primer carácter de la selección.
nEndChar
Índice de base cero del último carácter de la selección.
cr
CHARRANGE
estructura que contiene los límites de la selección actual.
Comentarios
Las dos formas de esta función proporcionan formas alternativas de establecer los límites de la selección. A continuación, se describen brevemente estos valores:
SetSel(
cr
) Este formulario usa laCHARRANGE
estructura con suscpMin
miembros ycpMax
para establecer los límites.SetSel(
nStartChar
,nEndChar
) Este formulario usa los parámetrosnStartChar
y nEndChar para establecer los límites.
El símbolo de inserción se coloca al final de la selección indicada por el mayor de los índices start (cpMin
o nStartChar
) y end (cpMax
o nEndChar
). Esta función desplaza el contenido de CRichEditCtrl
para que el símbolo de inserción esté visible.
Para seleccionar todo el texto de este objeto CRichEditCtrl
, llame a SetSel
con un índice inicial de 0 y un índice final de - 1.
Para más información, consulte el mensaje EM_EXSETSEL
y la estructura CHARRANGE
en Windows SDK.
Ejemplo
Vea el ejemplo de GetSel
.
CRichEditCtrl::SetSelectionCharFormat
Establece los atributos de formato de párrafo para el texto en la selección actual de este objeto CRichEditCtrl
.
BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);
Parámetros
cf
En la primera versión, un puntero a una estructura CHARFORMAT
que contiene los atributos de formato de caracteres para la selección actual.
En la segunda versión, un puntero a una estructura CHARFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura CHARFORMAT
, que contiene los atributos de formato de carácter de la selección actual.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Esta función cambia solo los atributos especificados por el miembro dwMask
de cf.
Para obtener más información, establezca EM_SETCHARFORMAT
y las estructuras CHARFORMAT
y CHARFORMAT2
en Windows SDK.
Ejemplo
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
Establece el ancho de línea y el dispositivo de destino que se usan para WYSIWYG (lo que ve es lo que obtiene) en este objeto CRichEditCtrl
.
BOOL SetTargetDevice(
HDC hDC,
long lLineWidth);
BOOL SetTargetDevice(
CDC& dc,
long lLineWidth);
Parámetros
hDC
Controle el contexto del dispositivo para el nuevo dispositivo de destino.
lLineWidth
Ancho de línea que se va a usar para dar formato.
dc
CDC
para el nuevo dispositivo de destino.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Si esta función se ejecuta correctamente, el control de edición enriquecido posee el contexto del dispositivo pasado como parámetro. En ese caso, la función de llamada no debe destruir el contexto del dispositivo.
Para más información, consulte EM_SETTARGETDEVICE
en Windows SDK.
Ejemplo
// 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
Establece el modo de texto o el nivel de deshacer y rehacer para un control de edición enriquecido.
BOOL SetTextMode(UINT fMode);
Parámetros
fMode
Especifica la nueva configuración para el modo de texto del control y los parámetros de nivel de deshacer. Para ver una lista de los valores posibles, consulte el parámetro de modo para EM_SETTEXTMODE
en Windows SDK.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Para obtener una descripción de los modos de texto, consulte EM_SETTEXTMODE
en Windows SDK.
Esta función miembro produce un error si el control contiene texto. Para asegurarse de que el control está vacío, envíe un mensaje WM_SETTEXT
con una cadena vacía.
CRichEditCtrl::SetUndoLimit
Establece el número máximo de acciones que se pueden almacenar en la cola de deshacer.
UINT SetUndoLimit(UINT nLimit);
Parámetros
nLimit
Especifica el número máximo de acciones que se pueden almacenar en la cola de deshacer. Establezca en cero para deshabilitar Deshacer.
Valor devuelto
Nuevo número máximo de acciones de deshacer para el control de edición enriquecido.
Comentarios
De forma predeterminada, el número máximo de acciones de la cola de deshacer es 100. Si aumenta este número, debe haber suficiente memoria disponible para acomodar el nuevo número. Para mejorar el rendimiento, establezca el límite en el valor más pequeño posible.
CRichEditCtrl::SetWordCharFormat
Establece los atributos de formato de caracteres para la palabra seleccionada actualmente en este objeto CRichEditCtrl
.
BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);
Parámetros
cf
En la primera versión, un puntero a una estructura CHARFORMAT
que contiene los atributos de formato de caracteres para la palabra seleccionada actualmente.
En la segunda versión, un puntero a una estructura CHARFORMAT2
, que es una extensión Rich Edit 2.0 a la estructura CHARFORMAT
, que contiene los atributos de formato de carácter de la palabra seleccionada actualmente.
Valor devuelto
Distinto de cero si se realiza correctamente; en caso contrario, 0.
Comentarios
Esta función cambia solo los atributos especificados por el miembro dwMask
de cf
.
Para obtener más información, consulte el mensaje EM_SETCHARFORMAT
, CHARFORMAT
y las estructuras CHARFORMAT2
en Windows SDK.
Ejemplo
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
Establece las opciones de ajuste de palabras y separación de palabras para el control de edición enriquecido.
UINT SetWordWrapMode(UINT uFlags) const;
Parámetros
uFlags
Las opciones que se van a establecer para el ajuste de palabras y la separación de palabras. Para ver una lista de valores posibles, consulte EM_SETWORDWRAPMODE
en Windows SDK.
Valor devuelto
Opciones actuales de ajuste de palabras y separación de palabras.
Comentarios
Este mensaje solo está disponible en versiones de idioma asiático del sistema operativo.
CRichEditCtrl::StopGroupTyping
Impide que el control recopile acciones de escritura adicionales en la acción de deshacer actual.
void StopGroupTyping();
Comentarios
El control almacena la siguiente acción de escritura, si existe, en una nueva acción de la cola de deshacer.
Para más información, consulte EM_STOPGROUPTYPING
en Windows SDK.
CRichEditCtrl::StreamIn
Reemplaza el texto de este objeto CRichEditCtrl
por texto del flujo de entrada especificado.
long StreamIn(
int nFormat,
EDITSTREAM& es);
Parámetros
nFormat
Marcas que especifican los formatos de datos de entrada. Para obtener más información, consulte la sección Comentarios.
es
EDITSTREAM
estructura que especifica el flujo de entrada. Vea la sección Comentarios para obtener más información.
Valor devuelto
Número de caracteres leídos del flujo de entrada.
Comentarios
El valor de nFormat
debe ser uno de los siguientes:
SF_TEXT
Indica texto de solo lectura.SF_RTF
Indica texto legible y formato.
Cualquiera de estos valores se puede combinar con SFF_SELECTION
. Si SFF_SELECTION
se especifica , StreamIn
reemplaza la selección actual por el contenido del flujo de entrada. Si no se especifica, StreamIn
reemplaza todo el contenido de este objeto CRichEditCtrl
.
En el EDITSTREAM
parámetro es
, se especifica una función de devolución de llamada que rellena un búfer con texto. Esta función de devolución de llamada se llama repetidamente hasta que se agota el flujo de entrada.
Para más información, consulte el mensaje EM_STREAMIN
y la estructura EDITSTREAM
en Windows SDK.
Ejemplo
// 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
Escribe el contenido de este objeto CRichEditCtrl
en el flujo de salida especificado.
long StreamOut(
int nFormat,
EDITSTREAM& es);
Parámetros
nFormat
Marcas que especifican los formatos de datos de salida. Para obtener más información, consulte la sección Comentarios.
es
EDITSTREAM
estructura que especifica el flujo de entrada. Vea la sección Comentarios para obtener más información.
Valor devuelto
Número de caracteres escritos en el flujo de salida.
Comentarios
El valor de nFormat
debe ser uno de los siguientes:
SF_TEXT
Indica texto de solo escritura.SF_RTF
Indica texto de escritura y formato.SF_RTFNOOBJS
Indica texto de escritura y formato, reemplazando los elementos OLE por espacios.SF_TEXTIZED
Indica la escritura de texto y el formato, con representaciones textuales de elementos OLE.
Cualquiera de estos valores se puede combinar con SFF_SELECTION
. Si SFF_SELECTION
se especifica , StreamOut
escribe la selección actual en el flujo de salida. Si no se especifica, StreamOut
sobrescribe todo el contenido de este objeto CRichEditCtrl
.
En el parámetro EDITSTREAM
es
, se especifica una función de devolución de llamada que rellena un búfer con texto. Esta función de devolución de llamada se llama repetidamente hasta que se agota el flujo de salida.
Para más información, consulte el mensaje EM_STREAMOUT
y la estructura EDITSTREAM
en Windows SDK.
Ejemplo
// 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
Deshace la última operación del control de edición enriquecido.
BOOL Undo();
Valor devuelto
Distinto de cero si la operación de deshacer es correcta; de lo contrario, 0.
Comentarios
También se puede deshacer una operación de deshacer. Por ejemplo, puede restaurar texto eliminado con la primera llamada a Undo
. Siempre que no haya ninguna operación de edición que intervenga, puede quitar el texto de nuevo con una segunda llamada a Undo
.
Para más información, consulte EM_UNDO
en Windows SDK.
Ejemplo
Vea el ejemplo de CanUndo
.
Consulte también
WORDPAD de ejemplo de MFC
CWnd
(clase)
Gráfico de jerarquías
CEdit
(clase)
CRichEditView
(clase)