Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
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_CHILDSempre.WS_VISIBLENormalmente.WS_DISABLEDRaramente.WS_GROUPPara agrupar os controlos.WS_TABSTOPPara 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 aCHARRANGEestrutura com os seuscpMinmembros ecpMaxpara devolver os limites.GetSel(
nStartChar,)nEndCharEsta forma devolve os limites nos parâmetrosnStartChare .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_EMPTYIndica que não há seleção atual.SEL_TEXTIndica que a seleção atual contém texto.SEL_OBJECTIndica que a seleção atual contém pelo menos um item OLE.SEL_MULTICHARIndica que a seleção atual contém mais do que um carácter de texto.SEL_MULTIOBJECTIndica 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 paralpBuf, 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_SETDefina as opções para as especificadas pordwFlags.ECOOP_ORCombine as opções atuais com as especificadas pordwFlags.ECOOP_ANDManter apenas as opções atuais que também são especificadas pordwFlags.ECOOP_XORLogicamente exclusivo OU as opções atuais com as especificadas pordwFlags.
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_AUTOWORDSELECTIONSeleção automática de palavras ao duplo clique.ECO_AUTOVSCROLLDesloca 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_AUTOHSCROLLDesliza automaticamente o texto uma página para cima quando o utilizador pressiona a tecla ENTER na última linha.ECO_NOHIDESELAnula 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 especificarECO_NOHIDESEL, o texto selecionado está invertido, mesmo que o controlo não tenha o foco.ECO_READONLYImpede o utilizador de escrever ou editar texto no controlo de edição.ECO_WANTRETURNEspecifica 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_SAVESELPreserva a seleção quando o controlo perde o foco. Por defeito, todo o conteúdo do controlo é selecionado quando recupera o foco.ECO_VERTICALDesenha 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 aCHARRANGEestrutura com os seuscpMinmembros ecpMaxpara definir os limites.SetSel(
nStartChar,nEndChar) Esta forma usa os parâmetrosnStartChare 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_TEXTIndica apenas ler texto.SF_RTFIndica 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_TEXTIndica apenas escrever texto.SF_RTFIndica escrever texto e formatação.SF_RTFNOOBJSIndica escrever texto e formatar, substituindo os elementos OLE por espaços.SF_TEXTIZEDIndica 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