Partilhar via


CRichEditCtrl Classe

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Fornece a funcionalidade do controlo de edição enriquecida.

Sintaxe

class CRichEditCtrl : public CWnd

Membros

Construtores Públicos

Nome Description
CRichEditCtrl::CRichEditCtrl Constrói um CRichEditCtrl objeto.

Métodos Públicos

Nome Description
CRichEditCtrl::CanPaste Determina se o conteúdo da Prancheta pode ser colado neste controlo de edição rico.
CRichEditCtrl::CanRedo Determina se existem ações na fila de refazer do controlo.
CRichEditCtrl::CanUndo Determina se uma operação de edição pode ser desfeita.
CRichEditCtrl::CharFromPos Recupera informação sobre a personagem mais próxima de um ponto especificado na área cliente de um controlo de edição.
CRichEditCtrl::Clear Elimina a seleção atual.
CRichEditCtrl::Copy Copia a seleção atual para a Prancheta.
CRichEditCtrl::Create Cria o controlo de edição rica do Windows e associa-o a este CRichEditCtrl objeto.
CRichEditCtrl::CreateEx Cria o controlo de edição enriquecida do Windows com os estilos estendidos especificados e associa-o a este CRichEditCtrl objeto.
CRichEditCtrl::Cut Corta a seleção atual para a Prancheta.
CRichEditCtrl::DisplayBand Mostra uma parte do conteúdo deste CRichEditCtrl objeto.
CRichEditCtrl::EmptyUndoBuffer Reinicia (limpa) a flag de desfazer deste CRichEditCtrl objeto.
CRichEditCtrl::FindText Localiza texto dentro deste CRichEditCtrl objeto.
CRichEditCtrl::FindWordBreak Encontra a próxima quebra de palavra antes ou depois da posição especificada do caractere, ou recupera informações sobre o carácter nessa posição.
CRichEditCtrl::FormatRange Formata um intervalo de texto para o dispositivo de saída alvo.
CRichEditCtrl::GetCharPos Determina a localização de um dado carácter dentro deste CRichEditCtrl objeto.
CRichEditCtrl::GetDefaultCharFormat Recupera os atributos de formatação de caracteres predefinidos atuais neste CRichEditCtrl objeto.
CRichEditCtrl::GetEventMask Recupera a máscara de eventos deste CRichEditCtrl objeto.
CRichEditCtrl::GetFirstVisibleLine Determina a linha visível mais alta neste CRichEditCtrl objeto.
CRichEditCtrl::GetIRichEditOle Recupera um ponteiro para a IRichEditOle interface deste controlo de edição rico.
CRichEditCtrl::GetLimitText Obtém o limite da quantidade de texto que um utilizador pode inserir neste CRichEditCtrl objeto.
CRichEditCtrl::GetLine Recupera uma linha de texto deste CRichEditCtrl objeto.
CRichEditCtrl::GetLineCount Recupera o número de linhas neste CRichEditCtrl objeto.
CRichEditCtrl::GetModify Determina se o conteúdo deste CRichEditCtrl objeto mudou desde a última gravação.
CRichEditCtrl::GetOptions Recupera as opções de controlo de edição enriquecida.
CRichEditCtrl::GetParaFormat Recupera os atributos de formatação de parágrafo na seleção atual deste CRichEditCtrl objeto.
CRichEditCtrl::GetPunctuation Recupera os caracteres de pontuação atuais para o controlo de edição rico. Esta mensagem está disponível apenas nas versões em língua asiática do sistema operativo.
CRichEditCtrl::GetRect Recupera o retângulo de formatação deste CRichEditCtrl objeto.
CRichEditCtrl::GetRedoName Recupera o tipo da ação seguinte, se existir, na fila de refazer do controlo.
CRichEditCtrl::GetSel Obtém as posições inicial e final da seleção atual neste CRichEditCtrl objeto.
CRichEditCtrl::GetSelectionCharFormat Recupera os atributos de formatação de caracteres na seleção atual deste CRichEditCtrl objeto.
CRichEditCtrl::GetSelectionType Recupera o tipo de conteúdo na seleção atual neste CRichEditCtrl objeto.
CRichEditCtrl::GetSelText Obtém o texto da seleção atual neste CRichEditCtrl objeto
CRichEditCtrl::GetTextLength Recupera o comprimento do texto, em caracteres, neste CRichEditCtrl objeto. Não inclui o carácter nulo que termina.
CRichEditCtrl::GetTextLengthEx Recupera o número de caracteres ou bytes na vista de edição enriquecida. Aceita uma lista de flags para indicar o método de determinar o comprimento do texto num controlo de edição rico
CRichEditCtrl::GetTextMode Recupera o modo de texto atual e desfaz o nível de um controlo de edição rico.
CRichEditCtrl::GetTextRange Recupera o intervalo de texto especificado.
CRichEditCtrl::GetUndoName Recupera o tipo da próxima ação de desfazer, se houver.
CRichEditCtrl::GetWordWrapMode Recupera as opções atuais de enrolamento e quebramento de palavras para o controlo de edição rica. Esta mensagem está disponível apenas nas versões em língua asiática do sistema operativo.
CRichEditCtrl::HideSelection Mostra ou esconde a seleção atual.
CRichEditCtrl::LimitText Limita a quantidade de texto que um utilizador pode inserir no CRichEditCtrl objeto.
CRichEditCtrl::LineFromChar Determina qual linha contém o carácter dado.
CRichEditCtrl::LineIndex Recupera o índice de carácter de uma dada linha neste CRichEditCtrl objeto.
CRichEditCtrl::LineLength Recupera o comprimento de uma dada linha neste CRichEditCtrl objeto.
CRichEditCtrl::LineScroll Faz rolar o texto neste CRichEditCtrl objeto.
CRichEditCtrl::Paste Insere o conteúdo da Área de Transferência neste controlo de edição rico.
CRichEditCtrl::PasteSpecial Insere o conteúdo da Área de Transferência neste controlo de edição rico no formato de dados especificado.
CRichEditCtrl::PosFromChar Recupera as coordenadas da área do cliente de um caractere especificado em um controle de edição.
CRichEditCtrl::Redo Refaz a próxima ação na fila de refazer do controlo.
CRichEditCtrl::ReplaceSel Substitui a seleção atual neste CRichEditCtrl objeto por texto especificado.
CRichEditCtrl::RequestResize Força este CRichEditCtrl objeto a enviar notificações de redimensionamento do pedido.
CRichEditCtrl::SetAutoURLDetect Indica se a deteção automática de URL está ativa num controlo de edição rico.
CRichEditCtrl::SetBackgroundColor Define a cor de fundo neste CRichEditCtrl objeto.
CRichEditCtrl::SetDefaultCharFormat Define os atributos de formatação de caracteres predefinidos atuais neste CRichEditCtrl objeto.
CRichEditCtrl::SetEventMask Define a máscara de eventos para este CRichEditCtrl objeto.
CRichEditCtrl::SetModify Define ou limpa a flag de modificação para este CRichEditCtrl objeto.
CRichEditCtrl::SetOLECallback Define o IRichEditOleCallback objeto COM para este controlo de edição rico.
CRichEditCtrl::SetOptions Define as opções para este CRichEditCtrl objeto.
CRichEditCtrl::SetParaFormat Define os atributos de formatação de parágrafo na seleção atual deste CRichEditCtrl objeto.
CRichEditCtrl::SetPunctuation Define os caracteres de pontuação para um controlo de edição rico. Esta mensagem está disponível apenas nas versões em língua asiática do sistema operativo.
CRichEditCtrl::SetReadOnly Define a opção de apenas leitura para este CRichEditCtrl objeto.
CRichEditCtrl::SetRect Define o retângulo de formatação para este CRichEditCtrl objeto.
CRichEditCtrl::SetSel Define a seleção neste CRichEditCtrl objeto.
CRichEditCtrl::SetSelectionCharFormat Define os atributos de formatação dos caracteres na seleção atual deste CRichEditCtrl objeto.
CRichEditCtrl::SetTargetDevice Define o dispositivo de saída alvo para este CRichEditCtrl objeto.
CRichEditCtrl::SetTextMode Define o modo de texto ou o nível de desfazer de um controlo de edição rica. A mensagem falha se o controlo contiver texto.
CRichEditCtrl::SetUndoLimit Define o número máximo de ações que podem ser armazenadas na fila de desfazer.
CRichEditCtrl::SetWordCharFormat Define os atributos de formatação dos caracteres na palavra atual deste CRichEditCtrl objeto.
CRichEditCtrl::SetWordWrapMode Define as opções de word-wrapping e word-breaking para o controlo de edição rica. Esta mensagem está disponível apenas nas versões em língua asiática do sistema operativo.
CRichEditCtrl::StopGroupTyping Impede o controlo de recolher ações adicionais de digitação na ação de desfazer atual. O controlo armazena a próxima ação de digitação, se existir, numa nova ação na fila de desfazer.
CRichEditCtrl::StreamIn Insere texto de um fluxo de entrada neste CRichEditCtrl objeto.
CRichEditCtrl::StreamOut Armazena texto deste CRichEditCtrl objeto num fluxo de saída.
CRichEditCtrl::Undo Reverte a última operação de edição.

Observações

Um "controlo de edição enriquecido" é uma janela onde o utilizador pode inserir e editar texto. O texto pode ser atribuído a formatação de caracteres e parágrafos, e pode incluir objetos OLE incorporados. Os controlos de edição enriquecidos fornecem uma interface de programação para formatar texto. No entanto, um aplicativo deve implementar todos os componentes da interface do usuário necessários para disponibilizar operações de formatação para o usuário.

Este controlo Windows Common (e, portanto, a CRichEditCtrl classe) está disponível apenas para programas a correr sob Windows 95/98 e Windows NT versões 3.51 e posteriores. A CRichEditCtrl classe suporta as versões 2.0 e 3.0 do controlo de edição rica do SDK do Windows.

Atenção

Se estiver a usar um controlo de edição enriquecido numa caixa de diálogo (independentemente de a sua aplicação ser SDI, MDI ou baseada em diálogo), deve ligar AfxInitRichEdit uma vez antes de a caixa de diálogo ser exibida. Um lugar típico para chamar esta função é na sua função membro InitInstance do programa. Você não precisa chamá-lo sempre que exibir a caixa de diálogo, somente na primeira vez. Você não precisa ligar AfxInitRichEdit se estiver trabalhando com CRichEditView.

Para mais informações sobre a utilização CRichEditCtrlde , veja:

Para um exemplo de utilização de um controlo de edição enriquecido numa aplicação MFC, veja a aplicação de exemplo WORDPAD .

Hierarquia de herança

CObject

CCmdTarget

CWnd

CRichEditCtrl

Requerimentos

Cabeçalho:afxcmn.h

CRichEditCtrl::CanPaste

Determina se o controlo de edição rica pode colar o formato especificado da Área de Transferências.

BOOL CanPaste(UINT nFormat = 0) const;

Parâmetros

nFormat
O formato de dados do Clipboard para consultar. Este parâmetro pode ser um dos formatos pré-definidos da Área de Transferência ou o valor devolvido por RegisterClipboardFormat.

Valor de retorno

Não nulo se o formato Clipboard puder ser colado; caso contrário, 0.

Observações

Se nFormat for 0, CanPaste vou tentar qualquer formato que esteja atualmente na Clipboard.

Para mais informações, consulte EM_CANPASTE mensagem e RegisterClipboardFormat função no SDK do Windows.

Example

// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
   m_myRichEditCtrl.Paste();
}

CRichEditCtrl::CanRedo

Determina se a fila de redo contém alguma ação.

BOOL CanRedo() const;

Valor de retorno

Diferente de zero se a fila de redo contiver ações, caso contrário 0.

Observações

Para descobrir o nome da operação na fila de redo, ligue CRichEditCtrl::GetRedoNamepara . Para refazer a operação Undo mais recente, ligue Redopara .

Para obter mais informações, consulte EM_CANREDO no SDK do Windows.

CRichEditCtrl::CanUndo

Determina se a última operação de edição pode ser desfeita.

BOOL CanUndo() const;

Valor de retorno

Não nula se a última operação de edição puder ser desfeita por uma chamada à Undo função membro; 0 se não puder ser desfeita.

Observações

Para obter mais informações, consulte EM_CANUNDO no SDK do Windows.

Example

// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
   m_myRichEditCtrl.Undo();

CRichEditCtrl::CharFromPos

Recupera informação sobre o carácter no ponto especificado pelo parâmetro pt.

int CharFromPos(CPoint pt) const;

Parâmetros

pt
Um CPoint objeto contendo as coordenadas do ponto especificado.

Valor de retorno

O índice de caracteres baseado em zero do carácter mais próximo do ponto especificado. Se o ponto especificado estiver além do último carácter no controlo, o valor de retorno indica o último carácter no controlo.

Observações

Esta função membro funciona com um controlo de edição rico. Para obter a informação para um controlo de edição, ligue CEdit::CharFromPospara .

Para obter mais informações, consulte EM_CHARFROMPOS no SDK do Windows.

CRichEditCtrl::Clear

Elimina (limpa) a seleção atual (se existir) no controlo de edição rica.

void Clear();

Observações

A eliminação realizada por Clear pode ser desfeita chamando a Undo função membro.

Para eliminar a seleção atual e colocar o conteúdo eliminado na Área de Transferência, chame a Cut função membro.

Para obter mais informações, consulte WM_CLEAR no SDK do Windows.

Example

// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();

CRichEditCtrl::Copy

Copia a seleção atual (se existir) no controlo de edição rica para a Área de Transferências.

void Copy();

Observações

Para obter mais informações, consulte WM_COPY no SDK do Windows.

Example

// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();

CRichEditCtrl::Create

Cria o controlo de edição rica do Windows e associa-o a este CRichEditCtrl objeto.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwStyle
Especifica o estilo do controlo de edição. Aplique uma combinação dos estilos de janela listados na secção Observações abaixo e edite os estilos de controlo, descritos no SDK do Windows.

rect
Especifica o tamanho e a posição do controlo de edição. Pode ser um CRect objeto ou RECT estrutura.

pParentWnd
Especifica a janela pai do controlo de edição (frequentemente um CDialog). Não pode ser NULL.

nID
Especifica o ID do controlo de edição.

Valor de retorno

Não nula se a inicialização for bem-sucedida; caso contrário, 0.

Observações

Constroem um CRichEditCtrl objeto em dois passos. Primeiro, chama o CRichEditCtrl construtor, depois chama Create, que cria o controlo de edição do Windows e o anexa ao CRichEditCtrl objeto.

Quando crias um controlo de edição enriquecido com esta função, primeiro deves carregar a biblioteca de controlos comuns necessária. Para carregar a biblioteca, chama a função AfxInitRichEditglobal , que por sua vez inicializa a biblioteca de controlos comuns. Só precisa de ligar AfxInitRichEdit uma vez durante o processo.

Quando Create é executado, o Windows envia as WM_NCCREATEmensagens , WM_NCCALCSIZE, WM_CREATE, e WM_GETMINMAXINFO para o controlo de edição.

Estas mensagens são tratadas por defeito pelas OnNcCreatefunções , OnNcCalcSize, OnCreate, e OnGetMinMaxInfo membros na CWnd classe base. Para estender o tratamento de mensagens por defeito, derive uma classe a partir de CRichEditCtrl, adicione um mapa de mensagens à nova classe e sobrescrita as funções membros do manipulador de mensagens acima. Override OnCreate, por exemplo, para realizar a inicialização necessária para a nova classe.

Aplique os seguintes estilos de janela a um controlo de edição.

  • WS_CHILD Sempre.

  • WS_VISIBLE Normalmente.

  • WS_DISABLED Raramente.

  • WS_GROUP Para agrupar os controlos.

  • WS_TABSTOP Para incluir o controlo de edição na ordem de separação.

Para mais informações sobre estilos de janelas, consulte CreateWindow o SDK do Windows.

Example

m_myRichEditCtrl.Create(
    WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
    CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);

CRichEditCtrl::CreateEx

Cria um controlo (uma janela filha) e associa-o ao CRichEditCtrl objeto.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwExStyle
Especifica o estilo estendido do controlo que está a ser criado. Para uma lista de estilos extensos do Windows, consulte o dwExStyle parâmetro para CreateWindowEx no SDK do Windows.

dwStyle
Especifica o estilo do controlo de edição. Aplique uma combinação dos estilos de janela listados na secção Observações e Createedite estilos de controlo, descritos no SDK do Windows.

rect
Uma referência a uma RECT estrutura que descreve o tamanho e a posição da janela a ser criada, em coordenadas cliente de pParentWnd.

pParentWnd
Um apontador para a janela que é o pai do controlo.

nID
O ID da janela criança do controlo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Use CreateEx em vez de Create para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_de estilo estendido do Windows .

CRichEditCtrl::CRichEditCtrl

Constrói um CRichEditCtrl objeto.

CRichEditCtrl();

Observações

Usar Create para construir o controlo de edição rico do Windows.

Example

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;

CRichEditCtrl::Cut

Elimina (corta) a seleção atual (se existir) no controlo de edição rica e copia o texto eliminado para a Área de Transferências.

void Cut();

Observações

A eliminação realizada por Cut pode ser desfeita chamando a Undo função membro.

Para eliminar a seleção atual sem colocar o texto eliminado na Área de Transferência, chame a Clear função membro.

Para obter mais informações, consulte WM_CUT no SDK do Windows.

Example

// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();

CRichEditCtrl::DisplayBand

Mostra uma parte do conteúdo do controlo de edição enriquecido (texto e itens OLE), tal como anteriormente formatado por FormatRange.

BOOL DisplayBand(LPRECT pDisplayRect);

Parâmetros

pDisplayRect
Apontador para um RECT objeto ou CRect que especifica a área do dispositivo a mostrar o texto.

Valor de retorno

Diferente de zero se a apresentação do texto formatado for bem-sucedida, caso contrário, 0.

Observações

O texto e os elementos OLE são recortados para a área especificada pelo ponteiro pDisplayRect.

Para obter mais informações, consulte EM_DISPLAYBAND no SDK do Windows.

Example

Veja o exemplo para CRichEditCtrl::FormatRange.

CRichEditCtrl::EmptyUndoBuffer

Reinicia (limpa) a flag de desfazer deste controlo de edição rico.

void EmptyUndoBuffer();

Observações

O controlo agora não poderá desfazer a última operação de edição. A flag de desfazer é definida sempre que uma operação dentro do controlo de edição rica pode ser desfeita.

A flag de desfazer é automaticamente apagada sempre que chama a CWnd função SetWindowTextmembro.

Para obter mais informações, consulte EM_EMPTYUNDOBUFFER no SDK do Windows.

Example

// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
   m_myRichEditCtrl.EmptyUndoBuffer();
   ASSERT(!m_myRichEditCtrl.CanUndo());
}

CRichEditCtrl::FindText

Encontra texto dentro do controlo de edição rica.

long FindText(
    DWORD dwFlags,
    FINDTEXTEX* pFindText) const;

Parâmetros

dwFlags
Para uma lista de valores possíveis, consulte wParam no EM_FINDTEXTEXT SDK do Windows.

pFindText
Apontador para a FINDTEXTEX estrutura que indica os parâmetros para a pesquisa e retorna o intervalo onde a correspondência foi encontrada.

Valor de retorno

Posição de personagem baseada em zero do próximo jogo; - 1 se não houver mais fósforos.

Observações

Pode pesquisar para cima ou para baixo definindo os parâmetros de alcance corretos na CHARRANGE estrutura dentro da FINDTEXTEX estrutura.

Para mais informações, consulte EM_FINDTEXTEX mensagem e FINDTEXTEX estrutura no SDK do Windows.

Example

// 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

Encontra a próxima quebra de palavra antes ou depois da posição especificada por nStart.

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

Parâmetros

nCode
Indica a ação a tomar. Para uma lista de valores possíveis, veja a descrição do parâmetro code em EM_FINDWORDBREAK no SDK do Windows.

nStart
A posição de carácter baseada em zero a partir da qual começar.

Valor de retorno

Com base no parâmetro nCode. Para obter mais informações, consulte EM_FINDWORDBREAK no SDK do Windows.

Observações

Pode usar esta função de membro para obter informação sobre um carácter numa determinada posição.

CRichEditCtrl::FormatRange

Formata um intervalo de texto num controlo de edição enriquecido para um dispositivo específico.

long FormatRange(
    FORMATRANGE* pfr,
    BOOL bDisplay = TRUE);

Parâmetros

pfr
Apontador para a FORMATRANGE estrutura que contém informação sobre o dispositivo de saída. NULL indica que a informação em cache dentro do controlo de edição rica pode ser libertada.

bDisplay
Indica se o texto deve ser renderizado. Se FALSE, o texto é apenas medido.

Valor de retorno

O índice do último carácter que se encaixa na região mais um.

Observações

Normalmente, esta chamada é seguida por uma chamada para DisplayBand.

Para mais informações, consulte EM_FORMATRANGE mensagem e FORMATRANGE estrutura no SDK do Windows.

Example

// 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

Obtém a posição (canto superior esquerdo) de um dado carácter dentro deste CRichEditCtrl objeto.

CPoint GetCharPos(long lChar) const;

Parâmetros

lChar
Índice zero do carácter.

Valor de retorno

A localização do canto superior esquerdo do carácter especificada por lChar.

Observações

O carácter é especificado indicando o seu valor de índice baseado em zero. Se lChar for maior que o índice do último carácter neste CRichEditCtrl objeto, o valor de retorno especifica as coordenadas da posição do carácter logo após o último carácter neste CRichEditCtrl objeto.

Para obter mais informações, consulte EM_POSFROMCHAR no SDK do Windows.

CRichEditCtrl::GetDefaultCharFormat

Obtém os atributos padrão de formatação de caracteres deste CRichEditCtrl objeto.

DWORD GetDefaultCharFormat(CHARFORMAT& cf) const;
DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;

Parâmetros

cf
Na primeira versão, um apontador para uma CHARFORMAT estrutura que continha os atributos de formatação padrão dos caracteres.

Na segunda versão, um ponteiro para uma CHARFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da CHARFORMAT estrutura, contendo os atributos padrão de formatação de caracteres.

Valor de retorno

O dwMask elemento de dados de cf. Especificava os atributos padrão de formatação de caracteres.

Observações

Para mais informações, consulte as EM_GETCHARFORMAT estruturas de mensagem e CHARFORMAT e CHARFORMAT2 no SDK do Windows.

Example

Veja o exemplo para SetDefaultCharFormat.

CRichEditCtrl::GetEventMask

Obtém a máscara de eventos para este CRichEditCtrl objeto.

long GetEventMask() const;

Valor de retorno

A máscara de evento deste CRichEditCtrl objeto.

Observações

A máscara de eventos especifica quais as mensagens de notificação que o CRichEditCtrl objeto envia para a sua janela pai.

Para obter mais informações, consulte EM_GETEVENTMASK no SDK do Windows.

Example

Veja o exemplo para CRichEditCtrl::SetEventMask.

CRichEditCtrl::GetFirstVisibleLine

Determina a linha visível mais alta neste CRichEditCtrl objeto.

int GetFirstVisibleLine() const;

Valor de retorno

Índice baseado em zero da linha visível superior neste CRichEditCtrl objeto.

Observações

Para obter mais informações, consulte EM_GETFIRSTVISIBLELINE no SDK do Windows.

Example

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

Acede à IRichEditOle interface deste CRichEditCtrl objeto.

IRichEditOle* GetIRichEditOle() const;

Valor de retorno

Apontador para a IRichEditOle interface que pode ser usada para aceder à funcionalidade OLE deste CRichEditCtrl objeto; NULL se a interface não for acessível.

Observações

Use esta interface para aceder à funcionalidade OLE deste CRichEditCtrl objeto.

Para mais informações, consulte EM_GETOLEINTERFACE mensagem e IRichEditOle interface no SDK do Windows.

CRichEditCtrl::GetLimitText

Obtém o limite de texto para este CRichEditCtrl objeto.

long GetLimitText() const;

Valor de retorno

O limite atual de texto, em bytes, para este CRichEditCtrl objeto.

Observações

O limite de texto é a quantidade máxima de texto, em bytes, que o controlo de edição rica pode aceitar.

Para obter mais informações, consulte EM_GETLIMITTEXT no SDK do Windows.

Example

// 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 uma linha de texto deste CRichEditCtrl objeto.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer,
    int nMaxLength) const;

Parâmetros

nIndex
Índice zero da linha a recuperar.

lpszBuffer
Aponta para o buffer para receber a mensagem. A primeira palavra do buffer deve especificar o número máximo de bytes que podem ser copiados para o buffer.

nMaxLength
Número máximo de caracteres que podem ser copiados para lpszBuffer. A segunda forma de GetLine coloca este valor na primeira palavra do buffer especificada por lpszBuffer.

Valor de retorno

O número de caracteres copiados em lpszBuffer.

Observações

A linha copiada não contém um carácter nulo de terminação.

Observação

Como a primeira palavra do buffer armazena o número de caracteres a copiar, certifique-se de que o seu buffer tem pelo menos 4 bytes.

Para obter mais informações, consulte EM_GETLINE no SDK do Windows.

Example

Veja o exemplo para GetLineCount.

CRichEditCtrl::GetLineCount

Recupera o número de linhas no CRichEditCtrl objeto.

int GetLineCount() const;

Valor de retorno

O número de linhas neste CRichEditCtrl objeto.

Observações

Para obter mais informações, consulte EM_GETLINECOUNT no SDK do Windows.

Example

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 se o conteúdo deste CRichEditCtrl objeto foi modificado.

BOOL GetModify() const;

Valor de retorno

Não nulo se o texto neste CRichEditCtrl objeto tiver sido modificado; caso contrário, 0.

Observações

O Windows mantém uma flag interna que indica se o conteúdo do controlo de edição enriquecido foi alterado. Esta flag é apagada quando o controlo de edição é criado pela primeira vez e também pode ser apagada chamando a SetModify função membro.

Para obter mais informações, consulte EM_GETMODIFY no SDK do Windows.

Example

// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
   m_myRichEditCtrl.SetModify(FALSE);

CRichEditCtrl::GetOptions

Recupera as opções atualmente definidas para o controlo de edição rica.

UINT GetOptions() const;

Valor de retorno

Uma combinação dos valores atuais das bandeiras de opção. Para uma lista destes valores, veja o fOptions parâmetro na EM_SETOPTIONS mensagem, conforme descrito no SDK do Windows.

CRichEditCtrl::GetParaFormat

Obtém os atributos de formatação de parágrafo da seleção atual.

DWORD GetParaFormat(PARAFORMAT& pf) const;
DWORD GetParaFormat(PARAFORMAT2& pf) const;

Parâmetros

pf
Na primeira versão, um ponteiro para uma PARAFORMAT estrutura para guardar os atributos de formatação de parágrafo da seleção atual.

Na segunda versão, um ponteiro para uma PARAFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da PARAFORMAT estrutura, contendo os atributos padrão de formatação de caracteres.

Valor de retorno

O dwMask elemento de dados de pf. Especifica os atributos de formatação de parágrafos que são consistentes em toda a seleção atual.

Observações

Se mais do que um parágrafo for selecionado, pf recebe os atributos do primeiro parágrafo selecionado. O valor de retorno especifica quais os atributos que são consistentes ao longo da seleção.

Para mais informações, consulte as EM_GETPARAFORMAT estruturas de mensagem e PARAFORMAT e PARAFORMAT2 no SDK do Windows.

Example

Veja o exemplo para CRichEditCtrl::SetParaFormat.

CRichEditCtrl::GetPunctuation

Obtém os caracteres de pontuação atuais num controlo de edição rico.

BOOL GetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc) const;

Parâmetros

fType
A flag de tipo de pontuação, conforme descrito no fType parâmetro de EM_GETPUNCTUATION no Windows SDK.

lpPunc
Um ponteiro para uma PUNCTUATION estrutura, conforme descrito no SDK do Windows.

Valor de retorno

Diferente de zero se a operação tivesse sido bem-sucedida, caso contrário 0.

Observações

Esta função membro está disponível apenas nas versões asiáticas do sistema operativo.

CRichEditCtrl::GetRect

Recupera o retângulo de formatação deste CRichEditCtrl objeto.

void GetRect(LPRECT lpRect) const;

Parâmetros

lpRect
CRect ou apontador para a RECT para receber o retângulo de formatação deste CRichEditCtrl objeto.

Observações

O retângulo de formatação é o retângulo delimitador do texto. Este valor é independente do tamanho do CRichEditCtrl objeto.

Para obter mais informações, consulte EM_GETRECT no SDK do Windows.

Example

Veja o exemplo para LimitText.

CRichEditCtrl::GetRedoName

Recupera o tipo da próxima ação disponível na fila de refazer, se existir.

UNDONAMEID GetRedoName() const;

Valor de retorno

Se for bem-sucedido, GetRedoName devolve o UNDONAMEID tipo de enumeração que indica o tipo da próxima ação na fila de refazer do controlo. Se a fila de refazer estiver vazia, ou se a ação de refazer na fila for de tipo desconhecido, GetRedoName retorna 0.

Observações

Os tipos de ações que podem ser desfeitas ou refeitas incluem digitação, eliminação, arrastar e largar, recortar e colar. Esta informação pode ser útil para aplicações que fornecem uma interface de utilizador alargada para operações de Desfazer e Refazer, como uma lista suspensa de ações refazíveis.

CRichEditCtrl::GetSel

Recupera os limites da seleção atual neste CRichEditCtrl objeto.

void GetSel(CHARRANGE& cr) const;

void GetSel(
    long& nStartChar,
    long& nEndChar) const;

Parâmetros

cr
Referência a uma CHARRANGE estrutura para receber os limites da seleção atual.

nStartChar
Índice em base zero do primeiro carácter da seleção atual.

nEndChar
Índice baseado em zero do último carácter na seleção atual.

Observações

As duas formas desta função fornecem formas alternativas de obter os limites para a seleção. Seguem-se breves descrições destes formulários:

  • GetSel(cr) Esta forma usa a CHARRANGE estrutura com os seus cpMin membros e cpMax para devolver os limites.

  • GetSel(nStartChar,)nEndChar Esta forma devolve os limites nos parâmetrosnStartChar e .nEndChar

A seleção inclui tudo se o início (cpMin ou nStartChar) for 0 e o fim (cpMax ou nEndChar) for - 1.

Para mais informações, consulte EM_EXGETSEL mensagem e CHARRANGE estrutura no SDK do Windows.

Example

// 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

Obtém os atributos de formatação dos caracteres da seleção atual.

DWORD GetSelectionCharFormat(CHARFORMAT& cf) const;
DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;

Parâmetros

cf
Na primeira versão, um ponteiro para uma CHARFORMAT estrutura recebia os atributos de formatação de caracteres da seleção atual.

Na segunda versão, um apontador para uma CHARFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da CHARFORMAT estrutura, para receber os atributos de formatação de caracteres da seleção atual.

Valor de retorno

O dwMask elemento de dados de cf. Especifica os atributos de formatação de caracteres que são consistentes ao longo da seleção atual.

Observações

O cf parâmetro recebe os atributos do primeiro carácter na seleção atual. O valor de retorno especifica quais os atributos que são consistentes ao longo da seleção.

Para mais informações, consulte as EM_GETCHARFORMAT estruturas de mensagem e CHARFORMAT e CHARFORMAT2 no SDK do Windows.

Example

Veja o exemplo para SetSelectionCharFormat.

CRichEditCtrl::GetSelectionType

Determina o tipo de seleção neste CRichEditCtrl objeto.

WORD GetSelectionType() const;

Valor de retorno

Bandeiras indicam o conteúdo da seleção atual. Uma combinação das seguintes bandeiras:

  • SEL_EMPTY Indica que não há seleção atual.

  • SEL_TEXT Indica que a seleção atual contém texto.

  • SEL_OBJECT Indica que a seleção atual contém pelo menos um item OLE.

  • SEL_MULTICHAR Indica que a seleção atual contém mais do que um carácter de texto.

  • SEL_MULTIOBJECT Indica que a seleção atual contém mais do que um objeto OLE.

Observações

Para obter mais informações, consulte EM_SELECTIONTYPE no SDK do Windows.

Example

// 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 o texto da seleção atual neste CRichEditCtrl objeto.

long GetSelText(LPSTR lpBuf) const;
CString GetSelText() const;

Parâmetros

lpBuf
Apontar para o buffer para receber o texto na seleção atual.

Valor de retorno

Depende da forma:

  • GetSelText(lpBuf) O número de caracteres copiados para lpBuf, excluindo a terminação nula.

  • GetSelText( ) A cadeia que contém a seleção atual.

Observações

Se usar a primeira forma, GetSelText(lpBuf), deve garantir que o buffer é suficientemente grande para o texto que irá receber. Ligue GetSel para determinar o número de caracteres na seleção atual.

Para obter mais informações, consulte EM_GETSELTEXT no SDK do Windows.

Example

Veja o exemplo para CRichEditCtrl::GetSelectionType.

CRichEditCtrl::GetTextLength

Recupera o comprimento do texto, em caracteres, neste CRichEditCtrl objeto, não incluindo o carácter nulo que termina.

long GetTextLength() const;

Valor de retorno

O comprimento do texto neste CRichEditCtrl objeto.

Observações

Para obter mais informações, consulte WM_GETTEXTLENGTH no SDK do Windows.

Example

// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());

CRichEditCtrl::GetTextLengthEx

Calcula o comprimento do texto no controlo de edição rica.

long GetTextLengthEx(
    DWORD dwFlags,
    UINT uCodePage = -1) const;

Parâmetros

dwFlags
Valor que especifica o método a ser usado para determinar o comprimento do texto. Este membro pode ser um ou mais dos valores listados no membro de flags de GETTEXTLENGTHEX descrito no SDK do Windows.

uCodePage
Página de códigos para tradução (CP_ACP para Página de Códigos ANSI, 1200 para Unicode).

Valor de retorno

O número de caracteres ou bytes no controlo de edição. Se as flags incompatíveis foram definidas em dwFlags, esta função membro devolve E_INVALIDARG.

Observações

GetTextLengthEx fornece formas adicionais de determinar o comprimento do texto. Suporta a funcionalidade Rich Edit 2.0. Consulte sobre os controlos de edição enriquecidos no SDK do Windows para mais informações.

CRichEditCtrl::GetTextMode

Recupera o modo de texto atual e desfaz o nível de um controlo de edição rico.

UINT GetTextMode() const;

Valor de retorno

Um conjunto de indicadores de bits do TEXTMODE tipo de enumeração, conforme descrito no Windows SDK. As bandeiras indicam o modo de texto atual e desfazem o nível do controlo.

CRichEditCtrl::GetTextRange

Obtém o intervalo especificado de caracteres.

int GetTextRange(
    int nFirst,
    int nLast,
    CString& refString) const;

Parâmetros

nFirst
O índice de posição do carácter imediatamente anterior ao primeiro carácter do intervalo.

nLast
A posição do carácter imediatamente após o último carácter do intervalo.

refString
Uma referência a um CString objeto que irá receber o texto.

Valor de retorno

O número de caracteres copiados, excluindo o carácter nulo que termina.

Observações

Para obter mais informações, consulte EM_GETTEXTRANGE no SDK do Windows.

GetTextRange suporta a funcionalidade Rich Edit 2.0. Consulte sobre os controlos de edição enriquecidos no SDK do Windows para mais informações.

CRichEditCtrl::GetUndoName

Recupera o tipo da próxima ação disponível na fila de desfazer, se houver.

UNDONAMEID GetUndoName() const;

Valor de retorno

Se uma ação de desfazer estiver na fila de desfazer do controlo, devolve GetUndoName o tipo de enumeração UNDONAMEID que indica o tipo da ação seguinte na fila. Se a fila de desfazer estiver vazia, ou se a ação de desfazer na fila for de tipo desconhecido, retorna GetUndoName 0.

Observações

Os tipos de ações que podem ser desfeitas ou refeitas incluem digitação, eliminação, arrastar e largar, recortar e colar. Esta informação pode ser útil para aplicações que fornecem uma interface de utilizador alargada para operações de Desfazer e Refazer, como uma caixa de lista suspensa de ações que podem ser desfeitas.

CRichEditCtrl::GetWordWrapMode

Recupera as opções atuais de enrolamento e quebramento de palavras para o controlo de edição rica.

UINT GetWordWrapMode() const;

Valor de retorno

As opções atuais de envolvimento e quebra de palavras. Estas opções são descritas no EM_SETWORDWRAPMODE SDK do Windows.

Observações

Esta função membro está disponível apenas para versões em língua asiática do sistema operativo.

CRichEditCtrl::HideSelection

Altera a visibilidade da seleção.

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

Parâmetros

bHide
Indica se a seleção deve ser mostrada ou oculta, TRUE para ocultar a seleção.

bPerm
Indica se esta alteração na visibilidade da seleção deve ser permanente.

Observações

Quando bPerm é TRUE, altera a ECO_NOHIDESEL opção para este CRichEditCtrl objeto. Para uma breve descrição desta opção, veja SetOptions. Pode usar esta função para definir todas as opções para este CRichEditCtrl objeto.

Para obter mais informações, consulte EM_HIDESELECTION no SDK do Windows.

Example

// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);

CRichEditCtrl::LimitText

Limita o comprimento do texto que o utilizador pode inserir num controlo de edição.

void LimitText(long nChars = 0);

Parâmetros

nChars
Especifica o comprimento (em bytes) do texto que o utilizador pode inserir. Se este parâmetro for 0 (o valor padrão), o comprimento do texto é definido para 64K bytes.

Observações

Alterar o limite de texto restringe apenas o texto que o utilizador pode inserir. Não tem efeito sobre qualquer texto já no controlo de edição, nem afeta o comprimento do texto copiado para o controlo de edição pela SetWindowText função membro em CWnd. Se uma aplicação usar a SetWindowText função para colocar mais texto num controlo de edição do que o especificado na chamada para LimitText, o utilizador pode eliminar qualquer texto dentro do controlo de edição. No entanto, o limite de texto impedirá o utilizador de substituir o texto existente por texto novo, a menos que eliminar a seleção atual faça com que o texto fique abaixo do limite de texto.

Observação

Para o limite de texto, cada item OLE conta como um único carácter.

Para obter mais informações, consulte EM_EXLIMITTEXT no SDK do Windows.

Example

// 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 o número da linha que contém o índice de caracteres especificado.

long LineFromChar(long nIndex) const;

Parâmetros

nIndex
Contém o valor do índice baseado em zero para o carácter desejado no texto do controlo de edição, ou contém -1. Se nIndex for -1, especifica a linha atual, ou seja, a linha que contém o carèt.

Valor de retorno

O número de linha em base zero da linha que contém o índice de caracteres especificado por nIndex. Se nIndex for -1, o número da linha que contém o primeiro carácter da seleção é devolvido. Se não houver seleção, o número da linha atual é devolvido.

Observações

Um índice de caracteres é o número de caracteres desde o início do controlo de edição enriquecido. Para contar caracteres, um item OLE é contado como um único carácter.

Para obter mais informações, consulte EM_EXLINEFROMCHAR no SDK do Windows.

Example

// 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 o índice de caracteres de uma linha dentro deste CRichEditCtrl objeto.

int LineIndex(int nLine = -1) const;

Parâmetros

nLine
Contém o valor de índice para a linha desejada no texto do controlo de edição, ou contém -1. Se nLine for -1, especifica a linha atual, ou seja, a linha que contém o carèt.

Valor de retorno

O índice de caracteres da linha especificado em nLine ou -1 se o número de linha especificado for maior do que o número de linhas no controlo de edição.

Observações

O índice de caracteres é o número de caracteres desde o início do controlo de edição enriquecido até à linha especificada.

Para obter mais informações, consulte EM_LINEINDEX no SDK do Windows.

Example

// 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 o comprimento de uma linha num controlo de edição rico.

int LineLength(int nLine = -1) const;

Parâmetros

nLine
Especifica o índice de caracteres de um carácter na linha cujo comprimento deve ser recuperado. Se este parâmetro for -1, o comprimento da linha atual (a linha que contém o caret) é devolvido, sem incluir o comprimento de qualquer texto selecionado dentro da linha. Quando LineLength é chamado para um controlo de edição de linha única, este parâmetro é ignorado.

Valor de retorno

Quando LineLength é chamado para um controlo de edição de múltiplas linhas, o valor de retorno é o comprimento (em TCHAR) da linha especificada por nLine. Não inclui o carácter de regresso de carruagens no final da linha. Quando LineLength é chamado para um controlo de edição de linha única, o valor de retorno é o comprimento (em TCHAR) do texto no controlo de edição. Se nLine for maior do que o número de caracteres no controlo, o valor de retorno é zero.

Observações

Use a LineIndex função membro para obter um índice de caracteres para um dado número de linha dentro deste CRichEditCtrl objeto.

Para obter mais informações, consulte EM_LINELENGTH no SDK do Windows.

Example

Veja o exemplo para LineIndex.

CRichEditCtrl::LineScroll

Desloca o texto de um controlo de edição de várias linhas.

void LineScroll(
    int nLines,
    int nChars = 0);

Parâmetros

nLines
Especifica o número de linhas a deslocar verticalmente.

nChars
Especifica o número de posições de caracteres a deslocar horizontalmente. Este valor é ignorado se o controlo de edição rica tiver o ES_RIGHT estilo ou.ES_CENTER Os estilos de edição são especificados em Create.

Observações

O controlo de edição não desloca verticalmente para além da última linha de texto no controlo de edição. Se a linha atual mais o número de linhas especificado por nLines exceder o número total de linhas no controlo de edição, o valor é ajustado para que a última linha do controlo de edição seja deslocada até ao topo da janela de controlo de edição.

LineScroll pode ser usado para deslizar horizontalmente para além do último carácter de qualquer linha.

Para obter mais informações, consulte EM_LINESCROLL no SDK do Windows.

Example

Veja o exemplo para GetFirstVisibleLine.

CRichEditCtrl::Paste

Insere os dados do Clipboard no CRichEditCtrl ponto de inserção, a localização do cardete.

void Paste();

Observações

Os dados só são inseridos se o Clipboard contiver dados num formato reconhecido.

Para obter mais informações, consulte WM_PASTE no SDK do Windows.

Example

// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();

CRichEditCtrl::PasteSpecial

Cola dados num formato específico de Clipboard neste CRichEditCtrl objeto.

void PasteSpecial(
    UINT nClipFormat,
    DWORD dvAspect = 0,
    HMETAFILE hMF = 0);

Parâmetros

nClipFormat
Formato de prancha para colar neste CRichEditCtrl objeto.

dvAspect
Aspeto do dispositivo para os dados a serem recuperados da Clipboard.

hMF
Handle para o metaficheiro que contém a vista icónica do objeto a colar.

Observações

O novo material é inserido no ponto de inserção, o local do carente.

Para obter mais informações, consulte EM_PASTESPECIAL no SDK do Windows.

Example

// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);

CRichEditCtrl::PosFromChar

Recupera as coordenadas da área do cliente de um caractere especificado em um controle de edição.

CPoint PosFromChar(UINT nChar) const;

Parâmetros

nChar
O índice em base zero do carácter.

Valor de retorno

A posição da personagem, (x, y). Para um controlo de edição de linha única, a coordenada y é sempre zero.

Observações

Para obter mais informações, consulte EM_POSFROMCHAR no SDK do Windows.

CRichEditCtrl::Redo

Refaz a próxima ação na fila de refazer do controlo.

BOOL Redo();

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Para obter mais informações, consulte EM_REDO no SDK do Windows.

CRichEditCtrl::ReplaceSel

Substitui a seleção atual neste CRichEditCtrl objeto pelo texto especificado.

void ReplaceSel(
    LPCTSTR lpszNewText,
    BOOL bCanUndo = FALSE);

Parâmetros

lpszNewText
Apontador para uma cadeia terminada por nulo contendo o texto de substituição.

bCanUndo
Para especificar que esta função pode ser desfeita, defina o valor deste parâmetro para TRUE. O valor predefinido é FALSE.

Observações

Para substituir todo o texto neste CRichEditCtrl objeto, use CWnd::SetWindowText.

Se não houver seleção atual, o texto de substituição é inserido no ponto de inserção, ou seja, na localização atual do caret.

Esta função formatará o texto inserido com a formatação existente dos caracteres. Ao substituir todo o conjunto de texto (chamando SetSel(0,-1) antes de chamar ReplaceSel), existe um carácter de fim de parágrafo que mantém a formatação do parágrafo anterior, que é herdada pelo texto recém-inserido.

Para obter mais informações, consulte EM_REPLACESEL no SDK do Windows.

Example

Veja o exemplo para LineIndex.

CRichEditCtrl::RequestResize

Força este CRichEditCtrl objeto a enviar EN_REQUESTRESIZE mensagens de notificação para a sua janela principal.

void RequestResize();

Observações

Esta função é útil durante CWnd::OnSize o processamento de um objeto sem CRichEditCtrl fundo.

Para mais informações, consulte a EM_REQUESTRESIZE mensagem e a secção Bottomless Rich Edit Controls de Sobre os Rich Edit Controls no Windows SDK.

CRichEditCtrl::SetAutoURLDetect

Define o controlo de edição enriquecida para detetar automaticamente uma URL.

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

Parâmetros

bEnable
Especifica se o controlo está definido para detetar automaticamente uma URL. Se TRUE, está ativado. Se FALSE, está desativado.

Valor de retorno

Zero se for bem-sucedido, caso contrário não zero. Por exemplo, a mensagem pode falhar devido à memória insuficiente.

Observações

Se ativado, o controlo de edição rica irá analisar o texto para determinar se corresponde a um formato padrão de URL. Para uma lista destes formatos URL, veja EM_AUTOURLDETECT no SDK do Windows.

Observação

Não defina SetAutoURLDetect como TRUE se o seu controlo de edição usar o CFE_LINK efeito para texto que não seja URLs. SetAutoURLDetect ativa este efeito para URLs e desativa-o para todo o resto do texto. Consulte EN_LINK para mais informações sobre o CFE_LINK efeito.

CRichEditCtrl::SetBackgroundColor

Define a cor de fundo para este CRichEditCtrl objeto.

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

Parâmetros

bSysColor
Indica se a cor de fundo deve ser definida para o valor do sistema. Se este valor for TRUE, cr é ignorado.

cr
A cor de fundo pedida. Usado apenas se bSysColor for FALSE.

Valor de retorno

A cor de fundo anterior deste CRichEditCtrl objeto.

Observações

A cor de fundo pode ser definida para o valor do sistema ou para um valor especificado COLORREF .

Para mais informações, consulte EM_SETBKGNDCOLOR mensagem e COLORREF estrutura no SDK do Windows.

Example

// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));

CRichEditCtrl::SetDefaultCharFormat

Define os atributos de formatação de caracteres para novo texto neste CRichEditCtrl objeto.

BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);

Parâmetros

cf
Na primeira versão, um ponteiro para uma CHARFORMAT estrutura contendo os novos atributos de formatação padrão de caracteres.

Na segunda versão, há um ponteiro para uma CHARFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da CHARFORMAT estrutura, contendo os atributos de formatação de caracteres por defeito.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Apenas os atributos especificados pelo dwMask membro de cf são alterados por esta função.

Para mais informações, consulte as EM_SETCHARFORMAT estruturas de mensagem e CHARFORMAT e CHARFORMAT2 no SDK do Windows.

Example

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

Define a máscara de eventos para este CRichEditCtrl objeto.

DWORD SetEventMask(DWORD dwEventMask);

Parâmetros

dwEventMask
A nova máscara de evento para este CRichEditCtrl objeto.

Valor de retorno

A máscara do evento anterior.

Observações

A máscara de eventos especifica quais as mensagens de notificação que o CRichEditCtrl objeto envia para a sua janela pai.

Para obter mais informações, consulte EM_SETEVENTMASK no SDK do Windows.

Example

// 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

Define ou limpa a bandeira modificada para um controlo de edição.

void SetModify(BOOL bModified = TRUE);

Parâmetros

bModified
Um valor de TRUE indica que o texto foi modificado, e um valor de FALSE indica que não foi modificado. Por defeito, a bandeira modificada está definida.

Observações

A flag modificada indica se o texto dentro do controlo de edição foi ou não modificado. É automaticamente definido sempre que o utilizador altera o texto. O seu valor pode ser recuperado com a GetModify função membro.

Para obter mais informações, consulte EM_SETMODIFY no SDK do Windows.

Example

Veja o exemplo para GetModify.

CRichEditCtrl::SetOLECallback

Dá a este CRichEditCtrl objeto um IRichEditOleCallback objeto para aceder a recursos e informações relacionadas com OLE.

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

Parâmetros

pCallback
Apontador para um IRichEditOleCallback objeto que este CRichEditCtrl objeto irá usar para obter recursos e informações relacionadas com OLE.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Este CRichEditCtrl objeto irá chamar IUnknown::AddRef para incrementar a contagem de utilização do objeto COM especificado por pCallback.

Para mais informações, consulte EM_SETOLECALLBACK mensagem e IRichEditOleCallback interface no SDK do Windows.

CRichEditCtrl::SetOptions

Define as opções para este CRichEditCtrl objeto.

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

Parâmetros

wOp
Indica o tipo de operação. Um dos seguintes valores:

  • ECOOP_SET Defina as opções para as especificadas por dwFlags.

  • ECOOP_OR Combine as opções atuais com as especificadas por dwFlags.

  • ECOOP_AND Manter apenas as opções atuais que também são especificadas por dwFlags.

  • ECOOP_XOR Logicamente exclusivo OU as opções atuais com as especificadas por dwFlags.

dwFlags
Opções de edição ricas. Os valores das bandeiras estão listados na secção de Observações.

Observações

As opções podem ser uma combinação dos seguintes valores:

  • ECO_AUTOWORDSELECTION Seleção automática de palavras ao duplo clique.

  • ECO_AUTOVSCROLL Desloca automaticamente o texto para a direita em 10 caracteres quando o utilizador escreve um carácter no final da linha. Quando o utilizador pressiona a tecla ENTER, o controlo desloca todo o texto até à posição zero.

  • ECO_AUTOHSCROLL Desliza automaticamente o texto uma página para cima quando o utilizador pressiona a tecla ENTER na última linha.

  • ECO_NOHIDESEL Anula o comportamento padrão de um controlo de edição. O comportamento padrão esconde a seleção quando o controlo perde o foco de entrada e mostra a seleção quando o controlo recebe o foco de entrada. Se especificar ECO_NOHIDESEL, o texto selecionado está invertido, mesmo que o controlo não tenha o foco.

  • ECO_READONLY Impede o utilizador de escrever ou editar texto no controlo de edição.

  • ECO_WANTRETURN Especifica que um retorno de carro seja inserido quando o utilizador pressiona a tecla ENTER ao inserir texto num controlo de edição rico de várias linhas numa caixa de diálogo. Se não especificar este estilo, pressionar a tecla ENTER envia um comando para a janela pai do controlo de edição rica, que imita clicar no botão padrão da janela principal (por exemplo, o botão OK numa caixa de diálogo). Este estilo não tem qualquer efeito num controlo de edição de linha única.

  • ECO_SAVESEL Preserva a seleção quando o controlo perde o foco. Por defeito, todo o conteúdo do controlo é selecionado quando recupera o foco.

  • ECO_VERTICAL Desenha texto e objetos numa direção vertical. Disponível apenas para línguas asiáticas.

Para obter mais informações, consulte EM_SETOPTIONS no SDK do Windows.

Example

// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
                                          ECO_AUTOHSCROLL);

CRichEditCtrl::SetParaFormat

Define os atributos de formatação de parágrafo para a seleção atual neste CRichEditCtrl objeto.

BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);

Parâmetros

pf
Na primeira versão, um ponteiro para uma PARAFORMAT estrutura contendo os novos atributos padrão de formatação de parágrafo.

Na segunda versão, um ponteiro para uma PARAFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da PARAFORMAT estrutura, contendo os atributos padrão de formatação de caracteres.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Apenas os atributos especificados pelo dwMask membro de pf são alterados por esta função.

Para mais informações, consulte as EM_SETPARAFORMAT estruturas de mensagem e PARAFORMAT e PARAFORMAT2 no SDK do Windows.

Example

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

Define a pontuação num controlo de edição rico.

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

Parâmetros

fType
A bandeira de pontuação. Para uma lista de valores possíveis, veja o fType parâmetro para EM_SETPUNCTUATION no SDK do Windows.

lpPunc
Um ponteiro para uma PUNCTUATION estrutura, conforme descrito no SDK do Windows.

Valor de retorno

Diferente de zero se for bem-sucedido, caso contrário 0.

Observações

Esta função membro está disponível apenas para versões em língua asiática do sistema operativo.

CRichEditCtrl::SetReadOnly

Altera a ECO_READONLY opção para este CRichEditCtrl objeto.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Parâmetros

bReadOnly
Indica se este CRichEditCtrl objeto deve ser apenas leitura.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Para uma breve descrição desta opção, veja SetOptions. Pode usar esta função para definir todas as opções para este CRichEditCtrl objeto.

Para obter mais informações, consulte EM_SETREADONLY no SDK do Windows.

Example

// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);

CRichEditCtrl::SetRect

Define o retângulo de formatação para este CRichEditCtrl objeto.

void SetRect(LPCRECT lpRect);

Parâmetros

lpRect
CRect ou apontador para a RECT que indica os novos limites para o retângulo de formatação.

Observações

O retângulo de formatação é o retângulo limitante do texto. O retângulo limitante é independente do tamanho da janela de controlo de edição rica. Quando este CRichEditCtrl objeto é criado pela primeira vez, o retângulo de formatação tem o mesmo tamanho da área cliente da janela. Use SetRect para tornar o retângulo de formatação maior ou menor do que a janela de edição rica.

Para obter mais informações, consulte EM_SETRECT no SDK do Windows.

Example

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

Define a seleção dentro deste CRichEditCtrl objeto.

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

Parâmetros

nStartChar
Índice zero do primeiro carácter para a seleção.

nEndChar
Índice em base zero do último carácter para a seleção.

cr
CHARRANGE que detém os limites da seleção atual.

Observações

As duas formas desta função fornecem formas alternativas de definir os limites para a seleção. Seguem-se breves descrições destes formulários:

  • SetSel(cr) Esta forma usa a CHARRANGE estrutura com os seus cpMin membros e cpMax para definir os limites.

  • SetSel(nStartChar,nEndChar) Esta forma usa os parâmetros nStartChar e nEndChar para definir os limites.

O caret é colocado no final da seleção indicada pelo maior dos índices de início (cpMin ou nStartChar) e final (cpMax ou nEndChar). Esta função faz scroll pelo conteúdo do CRichEditCtrl para que o caret fique visível.

Para selecionar todo o texto neste CRichEditCtrl objeto, chame SetSel com um índice inicial 0 e um índice final de - 1.

Para mais informações, consulte EM_EXSETSEL mensagem e CHARRANGE estrutura no SDK do Windows.

Example

Veja o exemplo para GetSel.

CRichEditCtrl::SetSelectionCharFormat

Define os atributos de formatação de caracteres para o texto na seleção atual deste CRichEditCtrl objeto.

BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);

Parâmetros

cf
Na primeira versão, um apontador para uma CHARFORMAT estrutura contendo os novos atributos de formatação de caracteres para a seleção atual.

Na segunda versão, um apontador para uma CHARFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da CHARFORMAT estrutura, contendo os novos atributos de formatação de caracteres para a seleção atual.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Apenas os atributos especificados pelo dwMask membro de cf são alterados por esta função.

Para mais informações, consulte as EM_SETCHARFORMAT estruturas e CHARFORMAT e CHARFORMAT2 no SDK do Windows.

Example

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

Define o dispositivo alvo e a largura de linha usada para a formatação WYSIWYG (o que vês é o que obtém) neste CRichEditCtrl objeto.

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

Parâmetros

hDC
Handle para o contexto do dispositivo do novo dispositivo-alvo.

lLineWidth
Largura de linha para usar na formatação.

dc
CDC para o novo dispositivo alvo.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Se esta função for bem-sucedida, o controlo de edição enriquecida detém o contexto do dispositivo passado como parâmetro. Nesse caso, a função de chamada não deve destruir o contexto do dispositivo.

Para obter mais informações, consulte EM_SETTARGETDEVICE no SDK do Windows.

Example

// 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

Define o modo de texto ou o nível de desfazer e refazer para um controlo de edição rico.

BOOL SetTextMode(UINT fMode);

Parâmetros

fMode
Especifica as novas definições para o modo de texto do controlo e para desfazer parâmetros de nível. Para uma lista dos valores possíveis, consulte o parâmetro de modo para EM_SETTEXTMODE no SDK do Windows.

Valor de retorno

Zero se for bem-sucedido, caso contrário não zero.

Observações

Para uma descrição dos modos de texto, veja EM_SETTEXTMODE no SDK do Windows.

Esta função membro falha se o controlo contiver texto. Para garantir que o controlo está vazio, envie uma WM_SETTEXT mensagem com uma cadeia vazia.

CRichEditCtrl::SetUndoLimit

Define o número máximo de ações que podem ser armazenadas na fila de desfazer.

UINT SetUndoLimit(UINT nLimit);

Parâmetros

nLimit
Especifica o número máximo de ações que podem ser armazenadas na fila de desfazer. Defina para zero para desativar o Desfazer.

Valor de retorno

O novo número máximo de ações de desfazer para o controlo de edição rico.

Observações

Por defeito, o número máximo de ações na fila de desfazer é 100. Se aumentar este número, deve haver memória suficiente para acomodar o novo número. Para melhor desempenho, defina o limite para o menor valor possível.

CRichEditCtrl::SetWordCharFormat

Define os atributos de formatação dos caracteres para a palavra atualmente selecionada neste CRichEditCtrl objeto.

BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);

Parâmetros

cf
Na primeira versão, um apontador para uma CHARFORMAT estrutura contendo os novos atributos de formatação de caracteres para a palavra atualmente selecionada.

Na segunda versão, um apontador para uma CHARFORMAT2 estrutura, que é uma extensão Rich Edit 2.0 da CHARFORMAT estrutura, contendo os novos atributos de formatação de caracteres para a palavra atualmente selecionada.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Apenas os atributos especificados pelo dwMask membro de cf são alterados por esta função.

Para mais informações, consulte as EM_SETCHARFORMAT estruturas de mensagem e CHARFORMAT e CHARFORMAT2 no SDK do Windows.

Example

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

Define as opções de word-wrapping e word-breaking para o controlo de edição rica.

UINT SetWordWrapMode(UINT uFlags) const;

Parâmetros

uFlags
As opções a definir para word wrapping e word breaking. Para uma lista de opções possíveis, consulte EM_SETWORDWRAPMODE o SDK do Windows.

Valor de retorno

As atuais opções de "word-wrapping" e "word-breaking".

Observações

Esta mensagem está disponível apenas nas versões em língua asiática do sistema operativo.

CRichEditCtrl::StopGroupTyping

Impede o controlo de recolher ações adicionais de digitação na ação de desfazer atual.

void StopGroupTyping();

Observações

O controlo armazena a próxima ação de digitação, se existir, numa nova ação na fila de desfazer.

Para obter mais informações, consulte EM_STOPGROUPTYPING no SDK do Windows.

CRichEditCtrl::StreamIn

Substitui o texto deste CRichEditCtrl objeto por texto do fluxo de entrada especificado.

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

Parâmetros

nFormat
Flags que especificam os formatos dos dados de entrada. Consulte a seção Comentários para obter mais informações.

es
EDITSTREAM estrutura que especifica o fluxo de entrada. Consulte a seção Comentários para obter mais informações.

Valor de retorno

Número de caracteres lidos do fluxo de entrada.

Observações

O valor de nFormat deve ser um dos seguintes:

  • SF_TEXT Indica apenas ler texto.

  • SF_RTF Indica leitura do texto e formatação.

Qualquer um destes valores pode ser combinado com SFF_SELECTION. Se SFF_SELECTION for especificado, StreamIn substitui a seleção atual pelo conteúdo do fluxo de entrada. Se não for especificado, StreamIn substitui todo o conteúdo desse CRichEditCtrl objeto.

No EDITSTREAM parâmetro es, especifica uma função de callback que preenche um buffer com texto. Esta função de callback é chamada repetidamente, até que o fluxo de entrada se esgote.

Para mais informações, consulte EM_STREAMIN mensagem e EDITSTREAM estrutura no SDK do Windows.

Example

// 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

Escreve o conteúdo deste CRichEditCtrl objeto no fluxo de saída especificado.

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

Parâmetros

nFormat
Flags que especificam os formatos de dados de saída. Consulte a seção Comentários para obter mais informações.

es
EDITSTREAM estrutura que especifica o fluxo de saída. Consulte a seção Comentários para obter mais informações.

Valor de retorno

Número de caracteres escritos no fluxo de saída.

Observações

O valor de nFormat deve ser um dos seguintes:

  • SF_TEXT Indica apenas escrever texto.

  • SF_RTF Indica escrever texto e formatação.

  • SF_RTFNOOBJS Indica escrever texto e formatar, substituindo os elementos OLE por espaços.

  • SF_TEXTIZED Indica escrita de texto e formatação, com representações textuais dos itens OLE.

Qualquer um destes valores pode ser combinado com SFF_SELECTION. Se SFF_SELECTION for especificado, StreamOut escreve a seleção atual no fluxo de saída. Se não for especificado, StreamOut escreve todo o conteúdo desse CRichEditCtrl objeto.

No EDITSTREAM parâmetro es, especifica uma função de callback que preenche um buffer com texto. Esta função de callback é chamada repetidamente, até que o fluxo de saída seja esgotado.

Para mais informações, consulte EM_STREAMOUT mensagem e EDITSTREAM estrutura no SDK do Windows.

Example

// 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

Desfaz a última operação no controlo de edição rico.

BOOL Undo();

Valor de retorno

Diferente de zero se a operação de desfazer for bem-sucedida; caso contrário, 0.

Observações

Uma operação de desfazer também pode ser desfeita. Por exemplo, pode restaurar texto eliminado com a primeira chamada para Undo. Desde que não haja nenhuma operação de edição intermédia, pode remover o texto novamente com uma segunda chamada para Undo.

Para obter mais informações, consulte EM_UNDO no SDK do Windows.

Example

Veja o exemplo para CanUndo.

Consulte também

Exemplo de WORDPAD MFC
CWnd Classe
Gráfico de Hierarquia
CEdit Classe
CRichEditView Classe