Classe CRichEditCtrl
Fornece a funcionalidade do controle de edição avançada.
Sintaxe
class CRichEditCtrl : public CWnd
Membros
Construtores públicos
Nome | Descrição |
---|---|
CRichEditCtrl::CRichEditCtrl |
Constrói um objeto CRichEditCtrl . |
Métodos públicos
Nome | Descrição |
---|---|
CRichEditCtrl::CanPaste |
Determina se o conteúdo da área de transferência pode ser colado nesse controle de edição avançada. |
CRichEditCtrl::CanRedo |
Determina se há alguma ação na fila de refazer do controle. |
CRichEditCtrl::CanUndo |
Determina se uma operação de edição pode ser desfeita. |
CRichEditCtrl::CharFromPos |
Recupera informações sobre o caractere mais próximo de um ponto especificado na área do cliente de um controle de edição. |
CRichEditCtrl::Clear |
Limpa a seleção atual. |
CRichEditCtrl::Copy |
Copia a seleção atual na área de transferência. |
CRichEditCtrl::Create |
Cria o controle de edição avançada do Windows e o associa a esse objeto CRichEditCtrl . |
CRichEditCtrl::CreateEx |
Cria o controle de edição avançada do Windows com os estilos estendidos do Windows especificados e o associa a esse objeto CRichEditCtrl . |
CRichEditCtrl::Cut |
Corta a seleção atual na área de transferência. |
CRichEditCtrl::DisplayBand |
Exibe uma parte do conteúdo deste objeto CRichEditCtrl . |
CRichEditCtrl::EmptyUndoBuffer |
Redefine (limpa) o sinalizador de desfazer desse objeto CRichEditCtrl . |
CRichEditCtrl::FindText |
Localiza o texto dentro desse objeto CRichEditCtrl . |
CRichEditCtrl::FindWordBreak |
Localiza a próxima interrupção de palavra antes ou depois da posição de caractere especificada ou recupera informações sobre o caractere nessa posição. |
CRichEditCtrl::FormatRange |
Formata um intervalo de texto para o dispositivo de saída de destino. |
CRichEditCtrl::GetCharPos |
Determina o local de um determinado caractere dentro desse objeto CRichEditCtrl . |
CRichEditCtrl::GetDefaultCharFormat |
Recupera os atributos de formatação de caractere padrão atuais neste objeto CRichEditCtrl . |
CRichEditCtrl::GetEventMask |
Recupera a máscara de evento para este objeto CRichEditCtrl . |
CRichEditCtrl::GetFirstVisibleLine |
Determina a linha mais visível neste objeto CRichEditCtrl . |
CRichEditCtrl::GetIRichEditOle |
Recupera um ponteiro para a interface IRichEditOle desse controle de edição avançada. |
CRichEditCtrl::GetLimitText |
Obtém o limite da quantidade de texto que um usuário pode inserir nesse objeto CRichEditCtrl . |
CRichEditCtrl::GetLine |
Recupera uma linha de texto desse objeto CRichEditCtrl . |
CRichEditCtrl::GetLineCount |
Recupera o número de linhas neste objeto CRichEditCtrl . |
CRichEditCtrl::GetModify |
Determina se o conteúdo desse objeto CRichEditCtrl foi alterado desde o último salvamento. |
CRichEditCtrl::GetOptions |
Recupera as opções de controle de edição avançada. |
CRichEditCtrl::GetParaFormat |
Recupera os atributos de formatação do parágrafo na seleção atual neste objeto CRichEditCtrl . |
CRichEditCtrl::GetPunctuation |
Recupera os caracteres de pontuação atuais para o controle de edição avançada. Esta mensagem está disponível somente nas versões em idioma asiático do sistema operacional. |
CRichEditCtrl::GetRect |
Recupera o retângulo de formatação deste objeto CRichEditCtrl . |
CRichEditCtrl::GetRedoName |
Recupera o tipo da próxima ação, se houver, na fila de refazer do controle. |
CRichEditCtrl::GetSel |
Obtém as posições inicial e final da seleção atual neste objeto CRichEditCtrl . |
CRichEditCtrl::GetSelectionCharFormat |
Recupera os atributos de formatação de caractere na seleção atual neste objeto CRichEditCtrl . |
CRichEditCtrl::GetSelectionType |
Recupera o tipo de conteúdo na seleção atual neste objeto CRichEditCtrl . |
CRichEditCtrl::GetSelText |
Obtém o texto da seleção atual neste objeto CRichEditCtrl |
CRichEditCtrl::GetTextLength |
Recupera o comprimento do texto, em caracteres, neste objeto CRichEditCtrl . Não inclui o caractere nulo de terminação. |
CRichEditCtrl::GetTextLengthEx |
Recupera o número de caracteres ou bytes na exibição de edição avançada. Aceita uma lista de sinalizadores para indicar o método de determinação do comprimento do texto em um controle de edição avançada |
CRichEditCtrl::GetTextMode |
Recupera o modo de texto atual e o nível para desfazer um controle de edição avançada. |
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 quebra automática de linha e separação de palavras para o controle de edição avançada. Esta mensagem está disponível somente nas versões em idioma asiático do sistema operacional. |
CRichEditCtrl::HideSelection |
Exibe ou oculta a seleção atual. |
CRichEditCtrl::LimitText |
Limita a quantidade de texto que um usuário pode inserir no objeto CRichEditCtrl . |
CRichEditCtrl::LineFromChar |
Determina qual linha contém o caractere determinado. |
CRichEditCtrl::LineIndex |
Recupera o índice de caracteres de uma determinada linha neste objeto CRichEditCtrl . |
CRichEditCtrl::LineLength |
Recupera o comprimento de uma determinada linha neste objeto CRichEditCtrl . |
CRichEditCtrl::LineScroll |
Rola o texto neste objeto CRichEditCtrl . |
CRichEditCtrl::Paste |
Insere o conteúdo da área de transferência no controle de edição avançada. |
CRichEditCtrl::PasteSpecial |
Insere o conteúdo da área de transferência nesse controle de edição avançada 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 restauração do controle. |
CRichEditCtrl::ReplaceSel |
Substitui a seleção atual neste objeto CRichEditCtrl pelo texto especificado. |
CRichEditCtrl::RequestResize |
Força esse objeto CRichEditCtrl a enviar notificações de redimensionamento de solicitação. |
CRichEditCtrl::SetAutoURLDetect |
Indica se a detecção automática de URL está ativa em um controle de edição avançada. |
CRichEditCtrl::SetBackgroundColor |
Define a cor da tela de fundo neste objeto CRichEditCtrl . |
CRichEditCtrl::SetDefaultCharFormat |
Define os atributos de formatação de caractere padrão atuais neste objeto CRichEditCtrl . |
CRichEditCtrl::SetEventMask |
Define a máscara de evento para este objeto CRichEditCtrl . |
CRichEditCtrl::SetModify |
Define ou limpa o sinalizador de modificação neste objeto CRichEditCtrl . |
CRichEditCtrl::SetOLECallback |
Define o objeto COM IRichEditOleCallback para esse controle de edição avançada. |
CRichEditCtrl::SetOptions |
Define as opções para este objeto CRichEditCtrl . |
CRichEditCtrl::SetParaFormat |
Define os atributos de formatação do parágrafo na seleção atual neste objeto CRichEditCtrl . |
CRichEditCtrl::SetPunctuation |
Define os caracteres de pontuação para um controle de edição avançada. Esta mensagem está disponível somente nas versões em idioma asiático do sistema operacional. |
CRichEditCtrl::SetReadOnly |
Define a opção somente leitura para este objeto CRichEditCtrl . |
CRichEditCtrl::SetRect |
Define o retângulo de formatação deste objeto CRichEditCtrl . |
CRichEditCtrl::SetSel |
Define a seleção neste objeto CRichEditCtrl . |
CRichEditCtrl::SetSelectionCharFormat |
Define os atributos de formatação de caractere na seleção atual neste objeto CRichEditCtrl . |
CRichEditCtrl::SetTargetDevice |
Define o dispositivo de saída de destino para este objeto CRichEditCtrl . |
CRichEditCtrl::SetTextMode |
Define o modo de texto ou o nível de desfazer de um controle de edição avançada. A mensagem falhará se o controle 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 de caractere na palavra atual neste objeto CRichEditCtrl . |
CRichEditCtrl::SetWordWrapMode |
Define as opções de quebra automática de linha e separação de palavras para o controle de edição avançada. Esta mensagem está disponível somente nas versões em idioma asiático do sistema operacional. |
CRichEditCtrl::StopGroupTyping |
Impede que o controle colete ações de digitação adicionais na ação de desfazer atual. O controle armazena a próxima ação de digitação, se houver, em uma nova ação na fila de desfazer. |
CRichEditCtrl::StreamIn |
Insere texto de um fluxo de entrada nesse objeto CRichEditCtrl . |
CRichEditCtrl::StreamOut |
Armazena texto desse objeto CRichEditCtrl em um fluxo de saída. |
CRichEditCtrl::Undo |
Inverte a última operação de edição. |
Comentários
Um "controle de edição avançada" é uma janela na qual o usuário pode inserir e editar textos. O texto pode ser atribuído a formatação de caracteres e parágrafos e pode incluir objetos OLE incorporados. Os controles de edição avançada fornecem uma interface de programação para formatar texto. No entanto, um aplicativo deve implementar todos os componentes de interface do usuário necessários para disponibilizar operações de formatação para o usuário.
Esse controle comum do Windows (e, portanto, a classe CRichEditCtrl
) está disponível apenas para programas em execução no Windows 95/98 e Windows NT versões 3.51 e posteriores. A classe CRichEditCtrl
dá suporte às versões 2.0 e 3.0 do controle de edição avançada do SDK do Windows.
Cuidado
Se você estiver usando um controle de edição avançada em uma caixa de diálogo (independentemente de seu aplicativo ser baseado em SDI, MDI ou caixa de diálogo), você deverá chamar AfxInitRichEdit
uma vez antes que a caixa de diálogo seja exibida. Um local típico para chamar essa função está na função membro InitInstance
do programa. Você não precisa chamá-lo toda vez que exibir a caixa de diálogo, apenas na primeira vez. Você não precisa chamar AfxInitRichEdit
se estiver trabalhando com CRichEditView
.
Para obter mais informações sobre como usar CRichEditCtrl
, confira:
Para obter um exemplo de como usar um controle de edição avançada em um aplicativo MFC, consulte o aplicativo de exemplo WORDPAD.
Hierarquia de herança
CRichEditCtrl
Requisitos
Cabeçalho: afxcmn.h
CRichEditCtrl::CanPaste
Determina se o controle de edição avançada pode colar o formato de área de transferência especificado.
BOOL CanPaste(UINT nFormat = 0) const;
Parâmetros
nFormat
O formato de dados da área de transferência a ser consultada. Esse parâmetro pode ser um dos formatos predefinidos da área de transferência ou o valor retornado por RegisterClipboardFormat
.
Valor de retorno
Diferente de zero se o formato da área de transferência puder ser colado; caso contrário, 0.
Comentários
Se nFormat
for 0, CanPaste
tentará qualquer formato atualmente na área de transferência.
Para obter mais informações, confira a mensagem EM_CANPASTE
e a função RegisterClipboardFormat
no SDK do Windows.
Exemplo
// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
m_myRichEditCtrl.Paste();
}
CRichEditCtrl::CanRedo
Determina se a fila de refazer contém ações.
BOOL CanRedo() const;
Valor de retorno
Diferente de zero se a fila de refazer contiver ações, caso contrário, 0.
Comentários
Para descobrir o nome da operação na fila de refazer, chame CRichEditCtrl::GetRedoName
. Para refazer a operação de desfazer mais recente, chame Redo
.
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
Diferente de zero se a última operação de edição puder ser desfeita por uma chamada para a função membro Undo
; 0 se não puder ser desfeita.
Comentários
Para obter mais informações, consulte EM_CANUNDO
no SDK do Windows.
Exemplo
// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
m_myRichEditCtrl.Undo();
CRichEditCtrl::CharFromPos
Recupera as informações sobre o caractere no ponto especificado pelo parâmetro pt
.
int CharFromPos(CPoint pt) const;
Parâmetros
pt
Um objeto CPoint
que contém as coordenadas do ponto especificado.
Valor de retorno
O índice de caracteres baseado em zero do caractere mais próximo do ponto especificado. Se o ponto especificado estiver além do último caractere no controle, o valor retornado indicará o último caractere no controle.
Comentários
Essa função membro funciona com um controle de edição avançado. Para obter as informações de um controle de edição, chame CEdit::CharFromPos
.
Para obter mais informações, consulte EM_CHARFROMPOS
no SDK do Windows.
CRichEditCtrl::Clear
Exclui (limpa) a seleção atual (se houver) no controle de edição avançado.
void Clear();
Comentários
A exclusão executada por Clear
pode ser desfeita chamando a função membro Undo
.
Para excluir a seleção atual e colocar o conteúdo excluído na área de transferência, chame a função membro Cut
.
Para obter mais informações, consulte WM_CLEAR
no SDK do Windows.
Exemplo
// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();
CRichEditCtrl::Copy
Copia a seleção atual (se houver) no controle de edição avançado para a área de transferência.
void Copy();
Comentários
Para obter mais informações, consulte WM_COPY
no SDK do Windows.
Exemplo
// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();
CRichEditCtrl::Create
Cria o controle de edição avançada do Windows e o associa a esse objeto CRichEditCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwStyle
Especifica o estilo do controle de edição. Aplique uma combinação dos estilos de janela listados na seção Comentários abaixo e edite os estilos de controle, descritos no SDK do Windows.
rect
Especifica o tamanho e a posição do controle de edição. Pode ser um objeto CRect
ou uma estrutura RECT
.
pParentWnd
Especifica a janela pai do controle de edição (geralmente CDialog
). Não deve ser NULL
.
nID
Especifica a ID do controle de edição.
Valor de retorno
Não zero se a inicialização for bem-sucedida; caso contrário, 0.
Comentários
Um objeto CRichEditCtrl
é construído em duas etapas. Primeiro chame o construtorCRichEditCtrl
, então chame Create
, o que cria o controle de edição do Windows e o anexa ao objeto CRichEditCtrl
.
Ao criar um controle de edição avançado com essa função, primeiro você deve carregar a biblioteca de controles comuns necessária. Para carregar a biblioteca, chame a função global AfxInitRichEdit
, que, por sua vez, inicializa a biblioteca de controles comuns. Você precisa chamar AfxInitRichEdit
apenas uma vez em seu processo.
Quando Create
é executado, o Windows envia as mensagens WM_NCCREATE
, WM_NCCALCSIZE
, WM_CREATE
e WM_GETMINMAXINFO
para o controle de edição.
Essas mensagens são tratadas por padrão pelas funções de membro OnNcCreate
, OnNcCalcSize
, OnCreate
e OnGetMinMaxInfo
na classe base CWnd
. Para estender o tratamento de mensagens padrão, derive uma classe de CRichEditCtrl
, adicione um mapa de mensagem à nova classe e substitua as funções de membro do manipulador de mensagens acima. Substitua OnCreate
, por exemplo, para executar a inicialização necessária para a nova classe.
Aplique os seguintes estilos de janela a um controle de edição.
WS_CHILD
Sempre.WS_VISIBLE
Geralmente.WS_DISABLED
Raramente.WS_GROUP
Para grupar controles.WS_TABSTOP
Para incluir o controle de edição na ordem de tabulação.
Para obter mais informações sobre estilos de janela, consulte CreateWindow
no SDK do Windows.
Exemplo
m_myRichEditCtrl.Create(
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);
CRichEditCtrl::CreateEx
Cria um controle (uma janela filho) e o associa ao objeto CRichEditCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwExStyle
Especifica o estilo estendido do controle que está sendo criado. Para obter uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle
para CreateWindowEx
no SDK do Windows.
dwStyle
Especifica o estilo do controle de edição. Aplique uma combinação dos estilos de janela listados na seção Comentários de Create
e edite os estilos de controle, descritos no SDK do Windows.
rect
Uma referência a uma estrutura RECT
que descreve o tamanho e a posição da janela a ser criada, nas coordenadas de cliente de pParentWnd
.
pParentWnd
Um ponteiro para a janela que é pai do controle.
nID
A ID da janela filho do controle.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Use CreateEx
, em vez de Create
, para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_
de estilos estendidos do Windows.
CRichEditCtrl::CRichEditCtrl
Constrói um objeto CRichEditCtrl
.
CRichEditCtrl();
Comentários
Use Create
para construir o controle de edição avançada do Windows.
Exemplo
// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;
// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;
CRichEditCtrl::Cut
Exclui (corta) a seleção atual (se houver) no controle de edição avançada e copia o texto excluído na área de transferência.
void Cut();
Comentários
A exclusão executada por Cut
pode ser desfeita chamando a função membro Undo
.
Para excluir a seleção atual sem colocar o texto excluído na área de transferência, chame a função de membro Clear
.
Para obter mais informações, consulte WM_CUT
no SDK do Windows.
Exemplo
// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();
CRichEditCtrl::DisplayBand
Exibe uma parte do conteúdo do controle de edição avançada (texto e itens OLE), conforme formatado anteriormente por FormatRange
.
BOOL DisplayBand(LPRECT pDisplayRect);
Parâmetros
pDisplayRect
Ponteiro para um objeto RECT
ou CRect
que especifica a área do dispositivo para exibir o texto.
Valor de retorno
Diferente de zero se a exibição do texto formatado for bem-sucedida, caso contrário, 0.
Comentários
Os itens de texto e OLE são recortados na área especificada pelo ponteiro pDisplayRect
.
Para obter mais informações, consulte EM_DISPLAYBAND
no SDK do Windows.
Exemplo
Confira o exemplo de CRichEditCtrl::FormatRange
.
CRichEditCtrl::EmptyUndoBuffer
Redefine (limpa) o sinalizador de desfazer desse controle de edição avançada.
void EmptyUndoBuffer();
Comentários
Agora, o controle não poderá desfazer a última operação de edição. O sinalizador de desfazer é definido sempre que uma operação dentro do controle de edição avançada pode ser desfeita.
O sinalizador de desfazer é desmarcado automaticamente sempre que você chama a função membro CWnd
SetWindowText
.
Para obter mais informações, consulte EM_EMPTYUNDOBUFFER
no SDK do Windows.
Exemplo
// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
m_myRichEditCtrl.EmptyUndoBuffer();
ASSERT(!m_myRichEditCtrl.CanUndo());
}
CRichEditCtrl::FindText
Localiza o texto dentro do controle de edição avançada.
long FindText(
DWORD dwFlags,
FINDTEXTEX* pFindText) const;
Parâmetros
dwFlags
Para obter uma lista de valores possíveis, consulte wParam
no EM_FINDTEXTEXT
no SDK do Windows.
pFindText
Ponteiro para a estrutura FINDTEXTEX
que fornece os parâmetros da pesquisa e retorna o intervalo em que a correspondência foi encontrada.
Valor de retorno
Posição de caractere baseada em zero da próxima correspondência; - 1 se não houver mais correspondências.
Comentários
Você pode pesquisar para cima ou para baixo definindo os parâmetros de intervalo adequados na estrutura CHARRANGE
dentro da estrutura FINDTEXTEX
.
Para mais informações, confira a mensagem EM_FINDTEXTEX
e a estrutura FINDTEXTEX
no SDK do Windows.
Exemplo
// 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
Localiza a próxima interrupção 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 ser executada. Para obter uma lista de valores possíveis, consulte a descrição do parâmetro code
no EM_FINDWORDBREAK
no SDK do Windows.
nStart
A posição do caractere baseada em zero da qual iniciar.
Valor de retorno
Com base no parâmetro nCode
. Para obter mais informações, consulte EM_FINDWORDBREAK
no SDK do Windows.
Comentários
Você pode usar essa função membro para recuperar informações sobre um caractere em uma determinada posição.
CRichEditCtrl::FormatRange
Formata um intervalo de texto em um controle de edição avançada para um dispositivo específico.
long FormatRange(
FORMATRANGE* pfr,
BOOL bDisplay = TRUE);
Parâmetros
pfr
Ponteiro para a estrutura FORMATRANGE
que contém informações sobre o dispositivo de saída. NULL
indica que as informações armazenadas em cache no controle de edição avançada podem ser liberadas.
bDisplay
Indica se um texto deve ser renderizado. Se FALSE
, o texto será apenas medido.
Valor de retorno
O índice do último caractere que se ajusta na região mais um.
Comentários
Normalmente, essa chamada é seguida por uma chamada para DisplayBand
.
Para mais informações, confira a mensagem EM_FORMATRANGE
e a estrutura FORMATRANGE
no SDK do Windows.
Exemplo
// 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 determinado caractere dentro desse objeto CRichEditCtrl
.
CPoint GetCharPos(long lChar) const;
Parâmetros
lChar
Índice com base em zero do caractere.
Valor de retorno
O local do canto superior esquerdo do caractere especificado por lChar
.
Comentários
O caractere é especificado fornecendo o valor de índice baseado em zero. Se lChar
for maior que o índice do último caractere neste objeto CRichEditCtrl
, o valor retornado especifica as coordenadas da posição do caractere logo após o último caractere neste objeto CRichEditCtrl
.
Para obter mais informações, consulte EM_POSFROMCHAR
no SDK do Windows.
CRichEditCtrl::GetDefaultCharFormat
Obtém os atributos de formatação de caractere padrão desse objeto CRichEditCtrl
.
DWORD GetDefaultCharFormat(CHARFORMAT& cf) const; DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;
Parâmetros
cf
Na primeira versão, um ponteiro para uma estrutura CHARFORMAT
que contém os atributos de formatação de caractere padrão.
Na segunda versão, um ponteiro para uma estrutura CHARFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura CHARFORMAT
, mantendo os atributos de formatação de caractere padrão.
Valor de retorno
O membro de dados dwMask
de cf
. Ele especificou os atributos de formatação de caractere padrão.
Comentários
Para obter mais informações, consulte a mensagem EM_GETCHARFORMAT
e as CHARFORMAT
estruturas CHARFORMAT2
no SDK do Windows.
Exemplo
Confira o exemplo de SetDefaultCharFormat
.
CRichEditCtrl::GetEventMask
Obtém a máscara de evento para este objeto CRichEditCtrl
.
long GetEventMask() const;
Valor de retorno
A máscara de evento para este objeto CRichEditCtrl
.
Comentários
A máscara de evento especifica quais mensagens de notificação o objeto CRichEditCtrl
envia para a janela pai.
Para obter mais informações, consulte EM_GETEVENTMASK
no SDK do Windows.
Exemplo
Confira o exemplo de CRichEditCtrl::SetEventMask
.
CRichEditCtrl::GetFirstVisibleLine
Determina a linha mais visível neste objeto CRichEditCtrl
.
int GetFirstVisibleLine() const;
Valor de retorno
Índice baseado em zero da linha visível mais alta neste objeto CRichEditCtrl
.
Comentários
Para obter mais informações, consulte EM_GETFIRSTVISIBLELINE
no SDK do Windows.
Exemplo
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
Acessa a interface IRichEditOle
desse objeto CRichEditCtrl
.
IRichEditOle* GetIRichEditOle() const;
Valor de retorno
Ponteiro para a interface IRichEditOle
que pode ser usada para acessar a funcionalidade OLE deste objeto CRichEditCtrl
; NULL
se a interface não estiver acessível.
Comentários
Use essa interface para acessar a funcionalidade OLE deste objeto CRichEditCtrl
.
Para obter mais informações, consulte a mensagem EM_GETOLEINTERFACE
e a interface IRichEditOle
no SDK do Windows.
CRichEditCtrl::GetLimitText
Obtém o limite de texto para este objeto CRichEditCtrl
.
long GetLimitText() const;
Valor de retorno
O limite de texto atual, em bytes, para esse objeto CRichEditCtrl
.
Comentários
O limite de texto é a quantidade máxima de texto, em bytes, que o controle de edição avançada pode aceitar.
Para obter mais informações, consulte EM_GETLIMITTEXT
no SDK do Windows.
Exemplo
// 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 desse objeto CRichEditCtrl
.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
Parâmetros
nIndex
Índice de base zero da linha a ser recuperado.
lpszBuffer
Aponta para o buffer para receber o texto. A primeira palavra do buffer deve especificar o número máximo de bytes que podem ser copiados no buffer.
nMaxLength
Número máximo de caracteres que podem ser copiados para lpszBuffer
. O segundo formulário de GetLine
insere esse valor na primeira palavra do buffer especificada por lpszBuffer
.
Valor de retorno
O número de caracteres copiados em lpszBuffer
.
Comentários
A linha copiada não contém um caractere de terminação nulo.
Observação
Como a primeira palavra do buffer armazena o número de caracteres a serem copiados, verifique se o buffer tem pelo menos 4 bytes de comprimento.
Para obter mais informações, consulte EM_GETLINE
no SDK do Windows.
Exemplo
Confira o exemplo de GetLineCount
.
CRichEditCtrl::GetLineCount
Recupera o número de linhas no objeto CRichEditCtrl
.
int GetLineCount() const;
Valor de retorno
O número de linhas neste objeto CRichEditCtrl
.
Comentários
Para obter mais informações, consulte EM_GETLINECOUNT
no SDK do Windows.
Exemplo
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 desse objeto CRichEditCtrl
foi modificado.
BOOL GetModify() const;
Valor de retorno
Diferente de zero se o texto neste objeto CRichEditCtrl
tiver sido modificado; caso contrário, 0.
Comentários
O Windows mantém um sinalizador interno indicando se o conteúdo do controle de edição avançada foi alterado. Esse sinalizador é desmarcado quando o controle de edição é criado pela primeira vez e também pode ser desmarcado chamando a função membro SetModify
.
Para obter mais informações, consulte EM_GETMODIFY
no SDK do Windows.
Exemplo
// 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 controle de edição avançada.
UINT GetOptions() const;
Valor de retorno
Uma combinação dos valores atuais do sinalizador de opção. Para obter uma lista desses valores, consulte o parâmetro fOptions
na mensagem EM_SETOPTIONS
, conforme descrito no SDK do Windows.
CRichEditCtrl::GetParaFormat
Obtém os atributos de formatação do 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 estrutura PARAFORMAT
para manter os atributos de formatação de parágrafo da seleção atual.
Na segunda versão, um ponteiro para uma estrutura PARAFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura PARAFORMAT
, mantendo os atributos de formatação de caractere padrão.
Valor de retorno
O membro de dados dwMask
de pf
. Ele especifica os atributos de formatação de parágrafo consistentes em toda a seleção atual.
Comentários
Se mais de um parágrafo for selecionado, pf
receberá os atributos do primeiro parágrafo selecionado. O valor retornado especifica quais atributos são consistentes durante toda a seleção.
Para obter mais informações, consulte a mensagem EM_GETPARAFORMAT
e as PARAFORMAT
estruturas PARAFORMAT2
no SDK do Windows.
Exemplo
Confira o exemplo de CRichEditCtrl::SetParaFormat
.
CRichEditCtrl::GetPunctuation
Obtém os caracteres de pontuação atuais em um controle de edição avançada.
BOOL GetPunctuation(
UINT fType,
PUNCTUATION* lpPunc) const;
Parâmetros
fType
O sinalizador de tipo de pontuação, conforme descrito no parâmetro fType
do EM_GETPUNCTUATION
no SDK do Windows.
lpPunc
Um ponteiro para uma estrutura PUNCTUATION
, conforme descrito no SDK do Windows.
Valor de retorno
Diferente de zero se a operação for bem-sucedida; caso contrário, 0.
Comentários
Essa função membro está disponível apenas nas versões em idioma asiático do sistema operacional.
CRichEditCtrl::GetRect
Recupera o retângulo de formatação deste objeto CRichEditCtrl
.
void GetRect(LPRECT lpRect) const;
Parâmetros
lpRect
CRect
ou ponteiro para um RECT
para receber o retângulo de formatação deste objeto CRichEditCtrl
.
Comentários
O retângulo de formatação é o retângulo delimitador do texto. Esse valor é independente do tamanho do objeto CRichEditCtrl
.
Para obter mais informações, consulte EM_GETRECT
no SDK do Windows.
Exemplo
Confira o exemplo de LimitText
.
CRichEditCtrl::GetRedoName
Recupera o tipo da próxima ação disponível na fila de refazer, se houver.
UNDONAMEID GetRedoName() const;
Valor de retorno
Se tiver êxito, GetRedoName
retornará o tipo de enumeração UNDONAMEID
que indica o tipo da próxima ação na fila de refazer do controle. Se a fila de refazer estiver vazia ou se a ação de refazer na fila for de um tipo desconhecido, GetRedoName
retornará 0.
Comentários
Os tipos de ações que podem ser desfeitas ou refeitas incluem operações de digitação, exclusão, arrastar e soltar, recortar e colar. Essas informações podem ser úteis para aplicativos que fornecem uma interface de usuário estendida para operações desfazer e refazer, como uma caixa de listagem suspensa de ações que podem ser refeitas.
CRichEditCtrl::GetSel
Recupera os limites da seleção atual neste objeto CRichEditCtrl
.
void GetSel(CHARRANGE& cr) const;
void GetSel(
long& nStartChar,
long& nEndChar) const;
Parâmetros
cr
Referência a uma estrutura CHARRANGE
para receber os limites da seleção atual.
nStartChar
Índice baseado em zero do primeiro caractere na seleção atual.
nEndChar
Índice baseado em zero do último caractere na seleção atual.
Comentários
As duas formas dessa função fornecem maneiras alternativas de obter os limites da seleção. As descrições breves destes formulários seguem:
GetSel(
cr
) Este formulário usa aCHARRANGE
estrutura com seuscpMin
membros ecpMax
para retornar os limites.GetSel(
nStartChar
,nEndChar
) Este formulário retorna os limites nos parâmetrosnStartChar
e .nEndChar
A seleção inclui tudo se o início (cpMin
ou nStartChar
) for 0 e o final (cpMax
ou nEndChar
) for - 1.
Para mais informações, confira a mensagem EM_EXGETSEL
e a estrutura CHARRANGE
no SDK do Windows.
Exemplo
// 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 de 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 estrutura CHARFORMAT
para receber os atributos de formatação de caracteres da seleção atual.
Na segunda versão, um ponteiro para uma estrutura CHARFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura CHARFORMAT
para receber os atributos de formatação de caracteres da seleção atual.
Valor de retorno
O membro de dados dwMask
de cf
. Ele especifica os atributos de formatação de caractere consistentes em toda a seleção atual.
Comentários
O parâmetro cf
recebe os atributos do primeiro caractere na seleção atual. O valor retornado especifica quais atributos são consistentes durante toda a seleção.
Para obter mais informações, consulte a mensagem EM_GETCHARFORMAT
e as CHARFORMAT
estruturas CHARFORMAT2
no SDK do Windows.
Exemplo
Confira o exemplo de SetSelectionCharFormat
.
CRichEditCtrl::GetSelectionType
Determina o tipo de seleção neste objeto CRichEditCtrl
.
WORD GetSelectionType() const;
Valor de retorno
Sinalizadores que indicam o conteúdo da seleção atual. Uma combinação dos seguintes sinalizadores:
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 de um caractere de texto.SEL_MULTIOBJECT
Indica que a seleção atual contém mais de um objeto OLE.
Comentários
Para obter mais informações, consulte EM_SELECTIONTYPE
no SDK do Windows.
Exemplo
// 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 os texto da seleção atual neste objeto CRichEditCtrl
.
long GetSelText(LPSTR lpBuf) const; CString GetSelText() const;
Parâmetros
lpBuf
Ponteiro para o buffer para receber o texto na seleção atual.
Valor de retorno
Depende do formulário:
GetSelText(lpBuf)
O número de caracteres copiados emlpBuf
sem incluir a terminação nula.GetSelText( )
A cadeia de caracteres que contém a seleção atual.
Comentários
Se usar o primeiro formulário GetSelText(lpBuf)
, você deverá garantir que o buffer seja grande o suficiente para o texto que ele receberá. Chame GetSel
para determinar o número de caracteres na seleção atual.
Para obter mais informações, consulte EM_GETSELTEXT
no SDK do Windows.
Exemplo
Confira o exemplo de CRichEditCtrl::GetSelectionType
.
CRichEditCtrl::GetTextLength
Recupera o comprimento do texto, em caracteres, neste objeto CRichEditCtrl
, sem incluir o caractere nulo de terminação.
long GetTextLength() const;
Valor de retorno
O comprimento do texto neste objeto CRichEditCtrl
.
Comentários
Para obter mais informações, consulte WM_GETTEXTLENGTH
no SDK do Windows.
Exemplo
// 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 controle de edição avançada.
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. Esse membro pode ser um ou mais dos valores listados no membro dos sinalizadores de GETTEXTLENGTHEX
descrito no SDK do Windows.
uCodePage
Página de código para tradução (CP_ACP
para Página de Código ANSI, 1200 para Unicode).
Valor de retorno
O número de caracteres ou bytes no controle de edição. Se sinalizadores incompatíveis foram definidos em dwFlags
, essa função membro retornará E_INVALIDARG
.
Comentários
GetTextLengthEx
fornece maneiras adicionais de determinar o comprimento do texto. Dá suporte à funcionalidade Rich Edit 2.0. Consulte Sobre controles de edição avançada no SDK do Windows para obter mais informações.
CRichEditCtrl::GetTextMode
Recupera o modo de texto atual e o nível para desfazer um controle de edição avançada.
UINT GetTextMode() const;
Valor de retorno
Um conjunto de sinalizadores de bit do tipo de enumeração TEXTMODE
, conforme descrito no SDK do Windows. Os sinalizadores indicam o modo de texto atual e o nível de desfazer do controle.
CRichEditCtrl::GetTextRange
Obtém o intervalo de caracteres especificado.
int GetTextRange(
int nFirst,
int nLast,
CString& refString) const;
Parâmetros
nFirst
O índice de posição do caractere imediatamente anterior ao primeiro caractere no intervalo.
nLast
A posição do caractere imediatamente após o último caractere no intervalo.
refString
Uma referência a um objeto CString
que receberá o texto.
Valor de retorno
O número de caracteres copiados, não incluindo o caractere nulo de terminação.
Comentários
Para obter mais informações, consulte EM_GETTEXTRANGE
no SDK do Windows.
GetTextRange
dá suporte à funcionalidade Rich Edit 2.0. Consulte Sobre controles de edição avançada no SDK do Windows para obter 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 controle, GetUndoName
retornará o tipo de enumeração UNDONAMEID indicando o tipo da próxima ação na fila. Se a fila de desfazer estiver vazia ou se a ação de desfazer na fila for de um tipo desconhecido, GetUndoName
retornará 0.
Comentários
Os tipos de ações que podem ser desfeitas ou refeitas incluem operações de digitação, exclusão, arrastar e soltar, recortar e colar. Essas informações podem ser úteis para aplicativos que fornecem uma interface de usuário estendida para operações desfazer e refazer, como uma caixa de listagem suspensa de ações que podem ser desfeitas.
CRichEditCtrl::GetWordWrapMode
Recupera as opções atuais de quebra automática de linha e separação de palavras para o controle de edição avançada.
UINT GetWordWrapMode() const;
Valor de retorno
As opções atuais de quebra automática de linha e separação de palavras. Essas opções estão descritas no EM_SETWORDWRAPMODE
no SDK do Windows.
Comentários
Essa função membro está disponível apenas nas versões em idioma asiático do sistema operacional.
CRichEditCtrl::HideSelection
Altera a visibilidade da seleção.
void HideSelection(
BOOL bHide,
BOOL bPerm);
Parâmetros
bHide
Indica se a seleção deve ser exibida ou oculta, TRUE
para ocultar a seleção.
bPerm
Indica se essa alteração na visibilidade da seleção deve ser permanente.
Comentários
Quando bPerm
é TRUE
, ele altera a opção ECO_NOHIDESEL
para este objeto CRichEditCtrl
. Para obter uma breve descrição dessa opção, consulte SetOptions
. Você pode usar essa função para definir todas as opções para esse objeto CRichEditCtrl
.
Para obter mais informações, consulte EM_HIDESELECTION
no SDK do Windows.
Exemplo
// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);
CRichEditCtrl::LimitText
Limita o comprimento do texto que o usuário pode inserir em um controle de edição.
void LimitText(long nChars = 0);
Parâmetros
nChars
Especifica o comprimento (em bytes) do texto que o usuário pode inserir. Se esse parâmetro for 0 (o valor padrão), o comprimento do texto será definido como 64K bytes.
Comentários
A alteração do limite de texto restringe apenas o texto que o usuário pode inserir. Ele não tem nenhum efeito sobre nenhum texto já no controle de edição, nem afeta o comprimento do texto copiado no controle de edição pela função membro SetWindowText
em CWnd
. Se um aplicativo usar a função SetWindowText
para colocar mais texto em um controle de edição do que o especificado na chamada para LimitText
, o usuário poderá excluir qualquer texto no controle de edição. No entanto, o limite de texto impedirá que o usuário substitua o texto existente por um novo texto, a menos que a exclusão da 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 caractere.
Para obter mais informações, consulte EM_EXLIMITTEXT
no SDK do Windows.
Exemplo
// 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 de linha da linha que contém o índice de caracteres especificado.
long LineFromChar(long nIndex) const;
Parâmetros
nIndex
Contém o valor de índice baseado em zero para o caractere desejado no texto do controle de edição ou contém -1. Se nIndex
for -1, ele especifica a linha atual, ou seja, a linha que contém o sinal de interpolação.
Valor de retorno
O número de linha baseado em 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 caractere da seleção será retornado. Se não houver seleção, o número de linha atual será retornado.
Comentários
Um índice de caracteres é o número de caracteres desde o início do controle de edição avançada. Para contagem de caracteres, um item OLE é contado como um único caractere.
Para obter mais informações, consulte EM_EXLINEFROMCHAR
no SDK do Windows.
Exemplo
// 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 neste objeto CRichEditCtrl
.
int LineIndex(int nLine = -1) const;
Parâmetros
nLine
Contém o valor de índice para a linha desejada no texto do controle de edição ou contém -1. Se nLine
for -1, ele especifica a linha atual, ou seja, a linha que contém o sinal de interpolação.
Valor de retorno
O índice de caracteres da linha especificada em nLine
ou -1 se o número da linha especificada for maior que o número de linhas no controle de edição.
Comentários
O índice de caracteres é o número de caracteres desde o início do controle de edição avançada até a linha especificada.
Para obter mais informações, consulte EM_LINEINDEX
no SDK do Windows.
Exemplo
// 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 em um controle de edição avançada.
int LineLength(int nLine = -1) const;
Parâmetros
nLine
Especifica o índice de um caractere na linha cujo comprimento deve ser recuperado. Se esse parâmetro for -1, o comprimento da linha atual (a linha que contém o ponto de inserção) será retornado, sem incluir o comprimento de qualquer texto selecionado na linha. Quando LineLength
é chamado para um controle de edição de linha única, esse parâmetro é ignorado.
Valor de retorno
Quando LineLength
é chamado para um controle de edição de várias linhas, o valor retornado é o comprimento (em TCHAR
) da linha especificada por nLine
. Ele não inclui o caractere de retorno de carro no final da linha. Quando LineLength
é chamado para um controle de edição de linha única, o valor retornado é o comprimento (em TCHAR
) do texto no controle de edição. Se nLine
for maior que o número de caracteres no controle, o valor retornado será zero.
Comentários
Use a função membro LineIndex
para recuperar um índice de caracteres para um determinado número de linha nesse objeto CRichEditCtrl
.
Para obter mais informações, consulte EM_LINELENGTH
no SDK do Windows.
Exemplo
Confira o exemplo de LineIndex
.
CRichEditCtrl::LineScroll
Rola o texto de um controle de edição de várias linhas.
void LineScroll(
int nLines,
int nChars = 0);
Parâmetros
nLines
Especifica o número de linhas a serem roladas verticalmente.
nChars
Especifica o número de posições de caractere a serem roladas horizontalmente. Esse valor será ignorado se o controle de edição avançada tiver o estilo ES_RIGHT
ou ES_CENTER
. Os estilos de edição estão especificados em Create
.
Comentários
O controle de edição não rola verticalmente após a última linha de texto no controle de edição. Se a linha atual mais o número de linhas especificadas por nLines
exceder o número total de linhas no controle de edição, o valor será ajustado para que a última linha do controle de edição seja rolada até a parte superior da janela de controle de edição.
LineScroll
pode ser usado para rolar horizontalmente após o último caractere de qualquer linha.
Para obter mais informações, consulte EM_LINESCROLL
no SDK do Windows.
Exemplo
Confira o exemplo de GetFirstVisibleLine
.
CRichEditCtrl::Paste
Insere os dados da área de transferência para CRichEditCtrl
no ponto de inserção, o local do cursor.
void Paste();
Comentários
Os dados serão inseridos somente se a área de transferência contiver dados em um formato reconhecido.
Para obter mais informações, consulte WM_PASTE
no SDK do Windows.
Exemplo
// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();
CRichEditCtrl::PasteSpecial
Cola os dados em um formato específico da área de transferência nesse objeto CRichEditCtrl
.
void PasteSpecial(
UINT nClipFormat,
DWORD dvAspect = 0,
HMETAFILE hMF = 0);
Parâmetros
nClipFormat
Formato de área de transferência a ser colado nesse objeto CRichEditCtrl
.
dvAspect
Aspecto do dispositivo para os dados a serem recuperados da área de transferência.
hMF
Identificador do metarquivo que contém a exibição icônica do objeto a ser colado.
Comentários
O novo material é inserido no ponto de inserção.
Para obter mais informações, consulte EM_PASTESPECIAL
no SDK do Windows.
Exemplo
// 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 com base em zero do caractere.
Valor de retorno
A posição do caractere (x, y). Para um controle de edição de linha única, a coordenada y é sempre zero.
Comentários
Para obter mais informações, consulte EM_POSFROMCHAR
no SDK do Windows.
CRichEditCtrl::Redo
Refaz a próxima ação na fila de restauração do controle.
BOOL Redo();
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Para obter mais informações, consulte EM_REDO
no SDK do Windows.
CRichEditCtrl::ReplaceSel
Substitui a seleção atual neste objeto CRichEditCtrl
pelo texto especificado.
void ReplaceSel(
LPCTSTR lpszNewText,
BOOL bCanUndo = FALSE);
Parâmetros
lpszNewText
Ponteiro para uma cadeia de caracteres terminada em nulo que contém o texto de substituição.
bCanUndo
Para especificar que essa função pode ser desfeita, defina o valor desse parâmetro como TRUE
. O valor padrão é FALSE
.
Comentários
Para substituir todo o texto neste objeto CRichEditCtrl
, use CWnd::SetWindowText
.
Se não houver uma seleção atual, o texto de substituição será inserido no ponto de inserção.
Essa função formatará o texto inserido com a formatação de caractere existente. Ao substituir todo o intervalo de texto (chamando SetSel
(0,-1) antes de chamar ReplaceSel
), há um caractere de fim de parágrafo que reté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.
Exemplo
Confira o exemplo de LineIndex
.
CRichEditCtrl::RequestResize
Força esse objeto CRichEditCtrl
a enviar mensagens de notificação EN_REQUESTRESIZE
para sua janela pai.
void RequestResize();
Comentários
Essa função é útil durante o processamento CWnd::OnSize
de um objeto CRichEditCtrl
sem fundo.
Para obter mais informações, consulte a mensagem EM_REQUESTRESIZE
e a seção Controles de edição avançada sem parte inferior de Sobre controles de edição avançada no SDK do Windows.
CRichEditCtrl::SetAutoURLDetect
Define o controle de edição avançada para detectar uma URL automaticamente.
BOOL SetAutoURLDetect(BOOL bEnable = TRUE);
Parâmetros
bEnable
Especifica se o controle está definido para detectar uma URL automaticamente. Se TRUE
, ele está habilitado. Se FALSE
, ele está desabilitado.
Valor de retorno
Zero se bem-sucedido; caso contrário, diferente de zero. Por exemplo, a mensagem pode falhar devido à memória insuficiente.
Comentários
Se habilitado, o controle de edição avançada examinará o texto para determinar se ele corresponde a um formato de URL padrão. Para obter uma lista desses formatos de URL, consulte EM_AUTOURLDETECT
no SDK do Windows.
Observação
Não defina SetAutoURLDetect
como TRUE
se o controle de edição usar o efeito CFE_LINK
para texto diferente de URLs. SetAutoURLDetect
habilita esse efeito para URLs e o desabilita para todos os outros textos. Consulte EN_LINK para obter mais informações sobre o efeito de CFE_LINK
.
CRichEditCtrl::SetBackgroundColor
Define a cor da tela de fundo deste objeto CRichEditCtrl
.
COLORREF SetBackgroundColor(
BOOL bSysColor,
COLORREF cr);
Parâmetros
bSysColor
Indica se a cor da tela de fundo deve ser definida como o valor do sistema. Se esse valor for TRUE
, cr
será ignorado.
cr
A cor da tela de fundo solicitada. Usado somente se bSysColor
for FALSE
.
Valor de retorno
A cor da tela de fundo anterior deste objeto CRichEditCtrl
.
Comentários
A cor da tela de fundo pode ser definida como o valor do sistema ou um valor COLORREF
especificado.
Para mais informações, confira a mensagem EM_SETBKGNDCOLOR
e a estrutura COLORREF
no SDK do Windows.
Exemplo
// 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 o novo texto neste objeto CRichEditCtrl
.
BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);
Parâmetros
cf
Na primeira versão, um ponteiro para uma estrutura CHARFORMAT
que contém os novos atributos de formatação de caractere padrão.
Na segunda versão, um ponteiro para uma estrutura CHARFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura CHARFORMAT
, contendo os atributos de formatação de caractere padrão.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Somente os atributos especificados pelo membro dwMask
de cf
são alterados por essa função.
Para obter mais informações, consulte a mensagem EM_SETCHARFORMAT
e as CHARFORMAT
estruturas CHARFORMAT2
no SDK do Windows.
Exemplo
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 evento para este objeto CRichEditCtrl
.
DWORD SetEventMask(DWORD dwEventMask);
Parâmetros
dwEventMask
A nova máscara de evento para este objeto CRichEditCtrl
.
Valor de retorno
A máscara de evento anterior.
Comentários
A máscara de evento especifica quais mensagens de notificação o objeto CRichEditCtrl
envia para a janela pai.
Para obter mais informações, consulte EM_SETEVENTMASK
no SDK do Windows.
Exemplo
// 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 o sinalizador modificado para um controle de edição.
void SetModify(BOOL bModified = TRUE);
Parâmetros
bModified
Um valor TRUE
indica que o texto foi modificado e um valor FALSE
indica que ele não foi modificado. Por padrão, o sinalizador modificado é definido.
Comentários
O sinalizador modificado indica se o texto no controle de edição foi modificado ou não. Ele é definido automaticamente sempre que o usuário altera o texto. Seu valor pode ser recuperado com a função membro GetModify
.
Para obter mais informações, consulte EM_SETMODIFY
no SDK do Windows.
Exemplo
Confira o exemplo de GetModify
.
CRichEditCtrl::SetOLECallback
Fornece a esse objeto CRichEditCtrl
um objeto IRichEditOleCallback
a ser usado para acessar recursos e informações relacionadas ao OLE.
BOOL SetOLECallback(IRichEditOleCallback* pCallback);
Parâmetros
pCallback
Ponteiro para um objeto IRichEditOleCallback
que esse objeto CRichEditCtrl
usará para obter recursos e informações relacionadas ao OLE.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Esse objeto CRichEditCtrl
irá chamar IUnknown::AddRef
para incrementar a contagem de uso para o objeto COM especificado por pCallback
.
Para obter mais informações, consulte a mensagem EM_SETOLECALLBACK
e a interface IRichEditOleCallback
no SDK do Windows.
CRichEditCtrl::SetOptions
Define as opções para este objeto CRichEditCtrl
.
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 como as especificadas pordwFlags
.ECOOP_OR
Combine as opções atuais com as especificadas pordwFlags
.ECOOP_AND
Mantenha somente as opções atuais que também são especificadas pordwFlags
.ECOOP_XOR
OR logicamente exclusivo as opções atuais pelas especificadas pordwFlags
.
dwFlags
Opções de edição avançada. Os valores do sinalizador estão listados na seção Comentários.
Comentários
As opções podem ser uma combinação dos seguintes valores:
ECO_AUTOWORDSELECTION
Seleção automática de palavras clicando duas vezes.ECO_AUTOVSCROLL
Rola automaticamente o texto para a direita em até 10 caracteres quando o usuário digita um caractere no fim da linha. Quando o usuário pressiona a tecla ENTER, o controle rola todo o texto de volta para a posição zero.ECO_AUTOHSCROLL
Rola automaticamente o texto para cima em uma página quando o usuário pressiona a tecla ENTER na última linha.ECO_NOHIDESEL
Nega o comportamento padrão de um controle de edição. O comportamento padrão oculta a seleção quando o controle perde o foco de entrada e exibe a seleção quando o controle recebe o foco de entrada. Se você especificarECO_NOHIDESEL
, o texto selecionado será invertido, mesmo que o controle não tenha o foco.ECO_READONLY
Impede que o usuário digite ou edite texto no controle de edição.ECO_WANTRETURN
Especifica que um retorno de carro seja inserido quando o usuário pressiona a tecla ENTER ao inserir o texto em um controle de edição avançada de várias linhas em uma caixa de diálogo. Se você não especificar esse estilo, pressionar a tecla ENTER enviará um comando para a janela pai do controle de edição avançada, que imita o clique no botão padrão da janela pai (por exemplo, o botão OK em uma caixa de diálogo). Esse estilo não tem efeito em um controle de edição de linha única.ECO_SAVESEL
Preserva a seleção quando o controle perde o foco. Por padrão, todo o conteúdo do controle é selecionado quando o foco é recuperado.ECO_VERTICAL
Desenha texto e objetos na direção vertical. Disponível somente para idiomas asiáticos.
Para obter mais informações, consulte EM_SETOPTIONS
no SDK do Windows.
Exemplo
// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
ECO_AUTOHSCROLL);
CRichEditCtrl::SetParaFormat
Define os atributos de formatação do parágrafo da seleção atual neste objeto CRichEditCtrl
.
BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);
Parâmetros
pf
Na primeira versão, um ponteiro para uma estrutura PARAFORMAT
que contém os novos atributos de formatação de parágrafo padrão.
Na segunda versão, um ponteiro para uma estrutura PARAFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura PARAFORMAT
, mantendo os atributos de formatação de caractere padrão.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Somente os atributos especificados pelo membro dwMask
de pf
são alterados por essa função.
Para obter mais informações, consulte a mensagem EM_SETPARAFORMAT
e as PARAFORMAT
estruturas PARAFORMAT2
no SDK do Windows.
Exemplo
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 em um controle de edição avançada.
BOOL SetPunctuation(
UINT fType,
PUNCTUATION* lpPunc);
Parâmetros
fType
O sinalizador de pontuação. Para obter uma lista de valores possíveis, consulte o parâmetro fType
para EM_SETPUNCTUATION
no SDK do Windows.
lpPunc
Um ponteiro para uma estrutura PUNCTUATION
, conforme descrito no SDK do Windows.
Valor de retorno
Diferente de zero em caso de êxito; caso contrário, 0.
Comentários
Essa função membro está disponível apenas nas versões em idioma asiático do sistema operacional.
CRichEditCtrl::SetReadOnly
Altera a opção ECO_READONLY
para este objeto CRichEditCtrl
.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
Parâmetros
bReadOnly
Indica se esse objeto CRichEditCtrl
deve ser somente leitura.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Para obter uma breve descrição dessa opção, consulte SetOptions
. Você pode usar essa função para definir todas as opções para esse objeto CRichEditCtrl
.
Para obter mais informações, consulte EM_SETREADONLY
no SDK do Windows.
Exemplo
// 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 deste objeto CRichEditCtrl
.
void SetRect(LPCRECT lpRect);
Parâmetros
lpRect
CRect
ou ponteiro para um RECT
que indica os novos limites para o retângulo de formatação.
Comentários
O retângulo de formatação é o retângulo limitador do texto. O retângulo limitador independe do tamanho da janela de controle de edição avançada. Quando esse objeto CRichEditCtrl
é criado pela primeira vez, o retângulo de formatação tem o mesmo tamanho que a área do cliente da janela. Use SetRect
para tornar o retângulo de formatação maior ou menor que a janela de edição avançada.
Para obter mais informações, consulte EM_SETRECT
no SDK do Windows.
Exemplo
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 neste objeto CRichEditCtrl
.
void SetSel(
long nStartChar,
long nEndChar);
void SetSel(CHARRANGE& cr);
Parâmetros
nStartChar
Índice baseado em zero do primeiro caractere para a seleção.
nEndChar
Índice baseado em zero do último caractere para a seleção.
cr
CHARRANGE
estrutura que contém os limites da seleção atual.
Comentários
As duas formas dessa função fornecem maneiras alternativas de definir os limites da seleção. As descrições breves destes formulários seguem:
SetSel(
cr
) Este formulário usa aCHARRANGE
estrutura com seuscpMin
membros ecpMax
para definir os limites.SetSel(
nStartChar
,nEndChar
) Este formulário usa os parâmetrosnStartChar
e nEndChar para definir os limites.
O sinal de interpolação é colocado no final da seleção indicado pelos maior entre os índices de início (cpMin
ou nStartChar
) e final (cpMax
ou nEndChar
). Essa função rola o conteúdo de CRichEditCtrl
para que o sinal de interpolação fique visível.
Para selecionar todo o texto neste objeto CRichEditCtrl
, chame SetSel
com um índice inicial de 0 e um índice final de - 1.
Para mais informações, confira a mensagem EM_EXSETSEL
e a estrutura CHARRANGE
no SDK do Windows.
Exemplo
Confira o exemplo de GetSel
.
CRichEditCtrl::SetSelectionCharFormat
Define os atributos de formatação de caractere do texto na seleção atual neste objeto CRichEditCtrl
.
BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);
Parâmetros
cf
Na primeira versão, um ponteiro para uma estrutura CHARFORMAT
que contém os novos atributos de formatação de caractere da seleção atual.
Na segunda versão, um ponteiro para uma estrutura CHARFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura CHARFORMAT
contendo os novos atributos de formatação de caracteres para a seleção atual.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Somente os atributos especificados pelo membro dwMask
de cf são alterados por essa função.
Para obter mais informações, consulte as estruturas EM_SETCHARFORMAT
, CHARFORMAT
e CHARFORMAT2
no SDK do Windows.
Exemplo
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 de destino e a largura da linha usada para a formatação WYSIWYG neste objeto CRichEditCtrl
.
BOOL SetTargetDevice(
HDC hDC,
long lLineWidth);
BOOL SetTargetDevice(
CDC& dc,
long lLineWidth);
Parâmetros
hDC
Identificador do contexto do dispositivo para o novo dispositivo de destino.
lLineWidth
Largura da linha a ser usada para formatação.
dc
CDC
para o novo dispositivo de destino.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Se essa função for bem-sucedida, o controle de edição avançada será proprietário do contexto do dispositivo passado como um 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.
Exemplo
// 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 de um controle de edição avançada.
BOOL SetTextMode(UINT fMode);
Parâmetros
fMode
Especifica as novas configurações do modo de texto do controle e parâmetros do nível de desfazer. Para obter uma lista dos valores possíveis, consulte o parâmetro de modo para EM_SETTEXTMODE
no SDK do Windows.
Valor de retorno
Zero se bem-sucedido; caso contrário, diferente de zero.
Comentários
Para obter uma descrição dos modos de texto, consulte EM_SETTEXTMODE
no SDK do Windows.
Essa função membro falhará se o controle contiver texto. Para verificar se o controle está vazio, envie uma mensagem WM_SETTEXT
com uma cadeia de caracteres 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. Definido como zero para desabilitar a função Desfazer.
Valor de retorno
O novo número máximo de ações de desfazer para o controle de edição avançada.
Comentários
Por padrão, o número máximo de ações na fila de desfazer é 100. Se você aumentar esse número, deverá haver memória disponível suficiente para acomodar o novo número. Para melhorar o desempenho, defina o limite como o menor valor possível.
CRichEditCtrl::SetWordCharFormat
Define os atributos de formatação de caracteres para a palavra selecionada no momento neste objeto CRichEditCtrl
.
BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);
Parâmetros
cf
Na primeira versão, um ponteiro para uma estrutura CHARFORMAT
que contém os novos atributos de formatação de caractere da palavra atualmente selecionada.
Na segunda versão, um ponteiro para uma estrutura CHARFORMAT2
, que é uma extensão Rich Edit 2.0 para a estrutura CHARFORMAT
contendo os novos atributos de formatação de caracteres da palavra atualmente selecionada.
Valor de retorno
Diferente de zero se tiver êxito. caso contrário, 0.
Comentários
Somente os atributos especificados pelo membro dwMask
de cf
são alterados por essa função.
Para obter mais informações, consulte a mensagem EM_SETCHARFORMAT
e as CHARFORMAT
estruturas CHARFORMAT2
no SDK do Windows.
Exemplo
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 quebra automática de linha e separação de palavras para o controle de edição avançada.
UINT SetWordWrapMode(UINT uFlags) const;
Parâmetros
uFlags
As opções a serem definidas para quebra automática de linha e separação de palavras. Para obter uma lista de opções possíveis, consulte EM_SETWORDWRAPMODE
no SDK do Windows.
Valor de retorno
As opções atuais de quebra automática de linha e separação de palavras.
Comentários
Esta mensagem está disponível somente nas versões em idioma asiático do sistema operacional.
CRichEditCtrl::StopGroupTyping
Impede que o controle colete ações de digitação adicionais na ação de desfazer atual.
void StopGroupTyping();
Comentários
O controle armazena a próxima ação de digitação, se houver, em uma nova ação na fila de desfazer.
Para obter mais informações, consulte EM_STOPGROUPTYPING
no SDK do Windows.
CRichEditCtrl::StreamIn
Substitui o texto neste objeto CRichEditCtrl
pelo texto do fluxo de entrada especificado.
long StreamIn(
int nFormat,
EDITSTREAM& es);
Parâmetros
nFormat
Sinalizadores que especificam os formatos de dados de entrada. Confira a seção Comentários para obter mais informações.
es
EDITSTREAM
estrutura especificando 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.
Comentários
O valor de nFormat
deve ser um dos seguintes:
SF_TEXT
Indica somente leitura de texto.SF_RTF
Indica leitura de texto e formatação.
Qualquer um desses valores pode ser combinado com SFF_SELECTION
. Se SFF_SELECTION
for especificado, StreamIn
substituirá a seleção atual pelo conteúdo do fluxo de entrada. Se não for especificado, StreamIn
substituirá todo o conteúdo deste objeto CRichEditCtrl
.
No parâmetro EDITSTREAM
es
, você especifica uma função de retorno de chamada que preenche um buffer com texto. Essa função de retorno de chamada é chamada repetidamente até que o fluxo de entrada seja esgotado.
Para mais informações, confira a mensagem EM_STREAMIN
e a estrutura EDITSTREAM
no SDK do Windows.
Exemplo
// 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
Grava o conteúdo desse objeto CRichEditCtrl
no fluxo de saída especificado.
long StreamOut(
int nFormat,
EDITSTREAM& es);
Parâmetros
nFormat
Sinalizadores que especificam os formatos de dados de saída. Confira a seção Comentários para obter mais informações.
es
EDITSTREAM
estrutura especificando o fluxo de entrada. Consulte a seção Comentários para obter mais informações.
Valor de retorno
Número de caracteres gravados no fluxo de saída.
Comentários
O valor de nFormat
deve ser um dos seguintes:
SF_TEXT
Indica apenas gravação de texto.SF_RTF
Indica gravação de texto e formatação.SF_RTFNOOBJS
Indica gravação de texto e formatação, substituindo itens OLE por espaços.SF_TEXTIZED
Indica gravação de texto e formatação, com representações textuais de itens OLE.
Qualquer um desses valores pode ser combinado com SFF_SELECTION
. Se SFF_SELECTION
for especificado, StreamOut
gravará a seleção atual no fluxo de saída. Se não for especificado, StreamOut
gravará todo o conteúdo desse objeto CRichEditCtrl
.
No parâmetro EDITSTREAM
es
, você especifica uma função de retorno de chamada que preenche um buffer com texto. Essa função de retorno de chamada é chamada repetidamente até que o fluxo de saída seja esgotado.
Para mais informações, confira a mensagem EM_STREAMOUT
e a estrutura EDITSTREAM
no SDK do Windows.
Exemplo
// 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 controle de edição avançada.
BOOL Undo();
Valor de retorno
Diferente de zero se a operação de desfazer for bem-sucedida; caso contrário, 0.
Comentários
Uma operação de desfazer também pode ser desfeita. Por exemplo, você pode restaurar o texto excluído com a primeira chamada para Undo
. Desde que não haja uma operação de edição intervindo, você poderá remover o texto novamente com uma segunda chamada para Undo
.
Para obter mais informações, consulte EM_UNDO
no SDK do Windows.
Exemplo
Confira o exemplo de CanUndo
.
Confira também
WORDPAD de exemplo do MFC
Classe CWnd
Gráfico da hierarquia
Classe CEdit
Classe CRichEditView