Partilhar via


Classe CRichEditView

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.

Com CRichEditDoc e CRichEditCntrItem, fornece a funcionalidade do controlo de edição enriquecido no contexto da arquitetura de visualização de documentos do MFC.

Sintaxe

class CRichEditView : public CCtrlView

Membros

Construtores Públicos

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

Métodos Públicos

Nome Description
CRichEditView::AdjustDialogPosition Move uma caixa de diálogo para não obscurecer a seleção atual.
CRichEditView::PossoPassar Indica se a Prancheta contém dados que podem ser colados na visualização de edição enriquecida.
CRichEditView::D oPaste Cola um item OLE nesta vista de edição rica.
CRichEditView::FindText Encontra o texto especificado, invocando o cursor de espera.
CRichEditView::FindTextSimple Encontra o texto especificado.
CRichEditView::GetCharFormatSelection Recupera os atributos de formatação de caracteres para a seleção atual.
CRichEditView::GetDocument Recupera um ponteiro para o CRichEditDoc relacionado.
CRichEditView::GetInPlaceAtivoItem Recupera o item OLE que está atualmente ativo na visualização de edição rica.
CRichEditView::GetMargins Recupera as margens desta vista rica de edição.
CRichEditView::GetPageRect Recupera o retângulo da página para esta vista de edição rica.
CRichEditView::ObténTamanhoPapelTamanho Recupera o tamanho do papel para esta vista de edição rica.
CRichEditView::GetParaFormatSelection Recupera os atributos de formatação de parágrafo para a seleção atual.
CRichEditView::GetPrintRect Recupera o retângulo de impressão para esta visualização rica de edição.
CRichEditView::GetPrintWidth Recupera a largura de impressão desta visualização de edição rica.
CRichEditView::GetRichEditCtrl Recupera o controlo de edição rica.
CRichEditView::GetSelectedItem Recupera o item selecionado da vista de edição rica.
CRichEditView::ObténComprimentoTextoT Recupera o comprimento do texto na vista de edição rica.
CRichEditView::GetTextLengthEx Recupera o número de caracteres ou bytes na vista de edição enriquecida. Lista expandida de bandeiras para método de determinar o comprimento.
CRichEditView::InsertFileAsObjeto Insere um ficheiro como um item OLE.
CRichEditView::InsertItem Insere um novo item como item OLE.
CRichEditView::IsRichEditFormat Indica se a Área de Transferência contém dados em formato de edição rica ou texto.
CRichEditView::OnCharEffect Alterna a formatação dos caracteres para a seleção atual.
CRichEditView::OnParaAlign Altera o alinhamento dos parágrafos.
CRichEditView::OnUpdateCharEffect Atualiza a interface de comandos para funções públicas de membros das personagens.
CRichEditView::OnUpdateParaAlign Atualiza a interface de comandos para funções de membros públicos de parágrafo.
CRichEditView::P rintInsideRect Formata o texto especificado dentro do retângulo dado.
CRichEditView::P rintPage Formata o texto especificado dentro da página dada.
CRichEditView::SetCharFormat Define os atributos de formatação dos caracteres para a seleção atual.
CRichEditView::SetMargins Define as margens para esta visualização de edição rica.
CRichEditView::SetPaperSize Define o tamanho do papel para esta visualização rica de edição.
CRichEditView::SetParaFormat Define os atributos de formatação de parágrafo para a seleção atual.
CRichEditView::TextNotFound Reinicia o estado interno de pesquisa do controlo.

Métodos Protegidos

Nome Description
CRichEditView::GetClipboardData Recupera um objeto Clipboard para um intervalo nesta visualização de edição enriquecida.
CRichEditView::GetContextMenu Recupera um menu contextual para usar com o botão direito do rato para baixo.
CRichEditView::IsSelected Indica se o item OLE está selecionado ou não.
CRichEditView::OnFind Next Encontra a próxima ocorrência de uma substring.
CRichEditView::OnInitialUpdate Atualiza uma vista quando esta é anexada a um documento pela primeira vez.
CRichEditView::OnPasteNativeObject Recupera dados nativos de um item OLE.
CRichEditView::OnPrinterChanged Define as características de impressão para o dispositivo dado.
CRichEditView::OnReplaceAll Substitui todas as ocorrências de uma dada cadeia por uma nova cadeia.
CRichEditView::OnReplaceSel Substitui a seleção atual.
CRichEditView::NoTextNotFound Trata da notificação do utilizador de que o texto solicitado não foi encontrado.
CRichEditView::QueryAcceptData Consultas para ver sobre os dados no IDataObject.
CRichEditView::WrapChanged Ajusta o dispositivo de saída alvo para esta visualização rica de edição, com base no valor de m_nWordWrap.

Membros de Dados Públicos

Nome Description
CRichEditView::m_nBulletIndent Indica a quantidade de recuação para listas de tópicos.
CRichEditView::m_nWordWrap Indica as restrições de word wrap.

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.

CRichEditView Mantém o texto e a formatação característicos do texto. CRichEditDoc mantém a lista de itens do cliente OLE que estão na vista. CRichEditCntrItem fornece acesso do lado do contêiner ao item de cliente OLE.

Este controlo Windows Common (e, portanto, CRichEditCtrl e classes relacionadas) está disponível apenas para programas a correr sob Windows 95/98 e Windows NT versões 3.51 e posteriores.

Para um exemplo de utilização de uma vista de edição rica numa aplicação MFC, veja a aplicação de exemplo WORDPAD .

Hierarquia de herança

CObject

CCmdTarget

CWnd

CView

CCtrlView

CRichEditView

Requerimentos

Cabeçalho: afxrich.h

CRichEditView::AdjustDialogPosition

Chame esta função para mover a caixa de diálogo dada para não obscurecer a seleção atual.

void AdjustDialogPosition(CDialog* pDlg);

Parâmetros

pDlg
Aponta para um CDialog objeto.

CRichEditView::PossoPassar

Chame esta função para determinar se o Clipboard contém informação que pode ser colada nesta visualização de edição rica.

BOOL CanPaste() const;

Valor de retorno

Diferente de zero se a Área de Transferência contiver dados num formato que esta vista de edição rica possa aceitar; caso contrário, 0.

CRichEditView::CRichEditView

Chama esta função para criar um CRichEditView objeto.

CRichEditView();

CRichEditView::D oPaste

Chama esta função para colar o item OLE em dataobj neste documento/vista de edição rica.

void DoPaste(
    COleDataObject& dataobj,
    CLIPFORMAT cf,
    HMETAFILEPICT hMetaPict);

Parâmetros

dataobj
O COleDataObject que contém os dados para colar.

cf
O formato desejado de Clipboard.

hMetaPict
O metaficheiro que representa o item a colar.

Observações

O framework chama esta função como parte da implementação padrão do QueryAcceptData.

Esta função determina o tipo de pasta com base nos resultados do handler para o Paste Special. Se cf for 0, o novo item utiliza a representação icónica atual. Se cf for diferente de zero e hMetaPict não for NULO, o novo item usa hMetaPict para a sua representação.

CRichEditView::FindText

Chame esta função para encontrar o texto especificado e defini-lo como a seleção atual.

BOOL FindText(
    LPCTSTR lpszFind,
    BOOL bCase = TRUE,
    BOOL bWord = TRUE,
    BOOL bNext = TRUE);

Parâmetros

lpszFind
Contém a cadeia a procurar.

bCase
Indica se a pesquisa é sensível a maiúsculas e minúsculas.

bWord
Indica se a pesquisa deve corresponder apenas a palavras inteiras, não a partes de palavras.

bNext
Indica a direção da busca. Se TRUE, a direção da pesquisa está perto do final do buffer. Se for FALSE, a direção da pesquisa é para o início do buffer.

Valor de retorno

Não nulo se o texto lpszFind for encontrado; caso contrário, 0.

Observações

Esta função mostra o cursor de espera durante a operação de localização.

Example

void CMyRichEditView::OnReplaceAll(LPCTSTR lpszFind, LPCTSTR lpszReplace,
   BOOL bCase, BOOL bWord)
{
   CWaitCursor wait;
   // no selection or different than what we are looking for
   if (!FindText(lpszFind, bCase, bWord))
   {
      OnTextNotFound(lpszFind);
      return;
   }

   GetRichEditCtrl().HideSelection(TRUE, FALSE);
   m_nNumReplaced = 0;
   do
   {
      GetRichEditCtrl().ReplaceSel(lpszReplace);
      m_nNumReplaced++;  // Record the number of replacements

   } while (FindTextSimple(lpszFind));
   GetRichEditCtrl().HideSelection(FALSE, FALSE);
}

CRichEditView::FindTextSimple

Chame esta função para encontrar o texto especificado e defini-lo como a seleção atual.

BOOL FindTextSimple(
    LPCTSTR lpszFind,
    BOOL bCase = TRUE,
    BOOL bWord = TRUE,
    BOOL bNext = TRUE);

Parâmetros

lpszFind
Contém a cadeia a procurar.

bCase
Indica se a pesquisa é sensível a maiúsculas e minúsculas.

bWord
Indica se a pesquisa deve corresponder apenas a palavras inteiras, não a partes de palavras.

bNext
Indica a direção da busca. Se TRUE, a direção da pesquisa está perto do final do buffer. Se for FALSE, a direção da pesquisa é para o início do buffer.

Valor de retorno

Não nulo se o texto lpszFind for encontrado; caso contrário, 0.

Example

Veja o exemplo para CRichEditView::FindText.

CRichEditView::GetCharFormatSelection

Chame esta função para obter os atributos de formatação de caracteres da seleção atual.

CHARFORMAT2& GetCharFormatSelection();

Valor de retorno

Uma estrutura CHARFORMAT2 que contém os atributos de formatação dos caracteres da seleção atual.

Observações

Para mais informações, consulte a mensagem EM_GETCHARFORMAT e a estrutura CHARFORMAT2 no SDK do Windows.

Example

void CMyRichEditView::OnCharUnderline()
{
   CHARFORMAT2 cf;
   cf = GetCharFormatSelection();

   if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
      cf.dwEffects = CFE_UNDERLINE;
   else
      cf.dwEffects = 0;

   cf.dwMask = CFM_UNDERLINE;
   SetCharFormat(cf);
}

CRichEditView::GetClipboardData

O framework chama esta função como parte do processamento de IRichEditOleCallback::GetClipboardData.

virtual HRESULT GetClipboardData(
    CHARRANGE* lpchrg,
    DWORD dwReco,
    LPDATAOBJECT lpRichDataObj,
    LPDATAOBJECT* lplpdataobj);

Parâmetros

lpchrg
Apontador para a estrutura CHARRANGE que especifica o intervalo de caracteres (e itens OLE) a copiar para o objeto de dados especificado por lplpdataobj.

dwReco
Bandeira de operação na prancheta. Pode ser um desses valores.

  • RECO_COPY copiar para a prancheta.

  • RECO_CUT Corta para a prancheta.

  • RECO_DRAG Operação de arrastar (arrastar e largar).

  • RECO_DROP Operação de largar (arrastar e largar).

  • RECO_PASTE Cola da prancheta.

lpRichDataObj
Apontador para um objeto IDataObject contendo os dados do Clipboard do controlo de edição rica ( IRichEditOle::GetClipboardData).

lplpdataobj
Apontador para a variável ponteiro que recebe o endereço do IDataObject objeto que representa o intervalo especificado no parâmetro lpchrg . O valor de lplpdataobj é ignorado se for devolvido um erro.

Valor de retorno

Um valor HRESULT que reporta o sucesso da operação. Para mais informações sobre o HRESULT, consulte Estrutura dos Códigos de Erro COM no Windows SDK.

Observações

Se o valor de retorno indicar sucesso, IRichEditOleCallback::GetClipboardData devolve o IDataObject acedido por lplpdataobj; caso contrário, devolve o acedido por lpRichDataObj. Desative esta função para fornecer os seus próprios dados do Clipboard. A implementação padrão desta função devolve E_NOTIMPL.

Isto é um ultrapassível avançado.

Para mais informações, consulte IRichEditOle::GetClipboardData, IRichEditOleCallback::GetClipboardData e CHARRANGE no Windows SDK, e veja IDataObject no Windows SDK.

CRichEditView::GetContextMenu

O framework chama esta função como parte do processamento de IRichEditOleCallback::GetContextMenu.

virtual HMENU GetContextMenu(
    WORD seltyp,
    LPOLEOBJECT lpoleobj,
    CHARRANGE* lpchrg);

Parâmetros

seltyp
O tipo de seleção. Os valores do tipo de seleção são descritos na secção de Observações.

lpoleobj
Apontador para uma OLEOBJECT estrutura que especifica o primeiro objeto OLE selecionado se a seleção contiver um ou mais itens OLE. Se a seleção não contiver itens, lpoleobj é NULL. A OLEOBJECT estrutura contém um ponteiro para um objeto OLE v-table.

lpchrg
Apontar para uma estrutura CHARRANGE contendo a seleção atual.

Valor de retorno

Usar o handle para o menu de contexto.

Observações

Esta função é uma parte típica do processamento com o botão direito do rato para baixo.

O tipo de seleção pode ser qualquer combinação das seguintes bandeiras:

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

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

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

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

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

A implementação padrão devolve NULL. Isto é um ultrapassível avançado.

Para mais informações, consulte IRichEditOleCallback::GetContextMenu e CHARRANGE no SDK do Windows.

CRichEditView::GetDocument

Chame esta função para obter um ponteiro para o associado CRichEditDoc a esta vista.

CRichEditDoc* GetDocument() const;

Valor de retorno

Aponta para um objeto CRichEditDoc associado ao teu CRichEditView objeto.

CRichEditView::GetInPlaceAtivoItem

Chame esta função para obter o item OLE que está atualmente ativado neste CRichEditView objeto.

CRichEditCntrItem* GetInPlaceActiveItem() const;

Valor de retorno

Um apontador para o único objeto ativo CRichEditCntrItem nesta vista de edição rica; NULL se não houver nenhum item OLE atualmente no estado ativo no local.

CRichEditView::GetMargins

Chame esta função para recuperar as margens atuais usadas na impressão.

CRect GetMargins() const;

Valor de retorno

As margens usadas na impressão, medidas em MM_TWIPS.

CRichEditView::GetPageRect

Chame esta função para obter as dimensões da página usada na impressão.

CRect GetPageRect() const;

Valor de retorno

Os limites da página usada na impressão, medidos em MM_TWIPS.

Observações

Este valor baseia-se no tamanho do papel.

CRichEditView::ObténTamanhoPapelTamanho

Chame esta função para recuperar o tamanho atual do papel.

CSize GetPaperSize() const;

Valor de retorno

O tamanho do papel usado na impressão, medido em MM_TWIPS.

Example

void CMyRichEditView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
   UNREFERENCED_PARAMETER(pInfo);

   // Get the current paper size and construct an actual printing
   // rectangle by leaving out one half inch margin from each side.
   CSize sizePaper = GetPaperSize();
   CRect rectMargins(720, 720, sizePaper.cx - 720,
      sizePaper.cy - 720);

   // Need to set the margins when printing from CRichEditView
   SetMargins(rectMargins);

   // Set up three rectangular regions spaced an inch apart
   CRect rectHeader(0, 0, rectMargins.right, 1440);
   CRect rectBody(0, 1440, rectMargins.right, 1440 * 2);
   CRect rectFooter(0, 1440 * 2, rectMargins.right, 1440 * 3);

   // Format the first 10 characters in the buffer.
   int nSavedDC = pDC->SaveDC();
   PrintInsideRect(pDC, rectHeader, 0, 10, TRUE); // characters 0-10
   pDC->RestoreDC(nSavedDC);

   // Format the second 10 characters in the buffer.
   nSavedDC = pDC->SaveDC();
   PrintInsideRect(pDC, rectBody, 10, 20, TRUE); // characters 10-20
   pDC->RestoreDC(nSavedDC);

   // Format the third 10 characters in the buffer.
   nSavedDC = pDC->SaveDC();
   PrintInsideRect(pDC, rectFooter, 20, 30, TRUE); // characters 20-30
   pDC->RestoreDC(nSavedDC);

   //   CRichEditView::OnPrint(pDC, pInfo);
}

CRichEditView::GetParaFormatSelection

Ligue a esta função para obter as características de formatação de parágrafo da seleção atual.

PARAFORMAT2& GetParaFormatSelection();

Valor de retorno

Uma estrutura PARAFORMAT2 que contém os atributos de formatação de parágrafo da seleção atual.

Observações

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

CRichEditView::GetPrintRect

Chame esta função para recuperar os limites da área de impressão dentro do retângulo da página.

CRect GetPrintRect() const;

Valor de retorno

Os limites da área da imagem usada na impressão, medidos em MM_TWIPS.

Example

void CMyRichEditView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
   CRect rectPrintPage = GetPrintRect();  // Measured in MM_TWIPS

   pInfo->SetMaxPage((m_nDocSizeInInches * 1440) / rectPrintPage.Height());

   CRichEditView::OnBeginPrinting(pDC, pInfo);
}

CRichEditView::GetPrintWidth

Chame esta função para determinar a largura da área de impressão.

int GetPrintWidth() const;

Valor de retorno

A largura da área de impressão, medida em MM_TWIPS.

CRichEditView::GetRichEditCtrl

Chame esta função para recuperar o objeto CRichEditCtrl associado ao CRichEditView objeto.

CRichEditCtrl& GetRichEditCtrl() const;

Valor de retorno

O CRichEditCtrl objetivo desta visão.

Example

Veja o exemplo para CRichEditView::FindText.

CRichEditView::GetSelectedItem

Chame esta função para recuperar o item OLE (um CRichEditCntrItem objeto) atualmente selecionado neste CRichEditView objeto.

CRichEditCntrItem* GetSelectedItem() const;

Valor de retorno

Apontador para um objeto CRichEditCntrItem selecionado no CRichEditView objeto; NULL se nenhum item for selecionado nesta vista.

CRichEditView::ObténComprimentoTextoT

Chame esta função para recuperar o comprimento do texto neste CRichEditView objeto.

long GetTextLength() const;

Valor de retorno

O comprimento do texto neste CRichEditView objeto.

CRichEditView::GetTextLengthEx

Chame esta função membro para calcular o comprimento do texto neste CRichEditView objeto.

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

Parâmetros

dwBandeiras
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 flags do 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 flags incompatíveis foram definidos 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. Para mais informações, consulte Sobre os Controlos de Edição Enriquecidos no SDK do Windows.

CRichEditView::InsertFileAsObjeto

Chame esta função para inserir o ficheiro especificado (como um objeto CRichEditCntrItem ) numa vista de edição rica.

void InsertFileAsObject(LPCTSTR lpszFileName);

Parâmetros

lpszFileName
String contendo o nome do ficheiro a inserir.

CRichEditView::InsertItem

Chame esta função para inserir um objeto CRichEditCntrItem numa vista de edição rica.

HRESULT InsertItem(CRichEditCntrItem* pItem);

Parâmetros

pItem
Apontar para o item a inserir.

Valor de retorno

Um valor HRESULT que indica o sucesso da inserção.

Observações

Para mais informações sobre o HRESULT, consulte Estrutura dos Códigos de Erro COM no Windows SDK.

CRichEditView::IsRichEditFormat

Chame esta função para determinar se cf é um formato Clipboard, que é texto, texto enriquecido ou texto enriquecido com itens OLE.

static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);

Parâmetros

cf
O formato Clipboard do seu interesse é especial.

Valor de retorno

Não nulo se cf for um formato de edição rica ou de Clipboard de texto.

CRichEditView::IsSelected

Chame esta função para determinar se o item OLE especificado está atualmente selecionado nesta vista.

virtual BOOL IsSelected(const CObject* pDocItem) const;

Parâmetros

pDocItem
Apontar para um objeto na vista.

Valor de retorno

Não nulo se o objeto for selecionado; caso contrário, 0.

Observações

Substitua esta função se a sua classe de visualização derivada tiver um método diferente para gerir a seleção dos itens OLE.

CRichEditView::m_nBulletIndent

A indentação para itens com balas numa lista; por defeito, 720 unidades, que são 1/2 polegada.

int m_nBulletIndent;

CRichEditView::m_nWordWrap

Indica o tipo de word wrap para esta visualização rica de edição.

int m_nWordWrap;

Observações

Um dos seguintes valores:

  • WrapNone Indica que não há enrolamento automático de palavras.

  • WrapToWindow Indica o enrolamento de palavras com base na largura da janela.

  • WrapToTargetDevice Indica o enrolamento de palavras com base nas características do dispositivo alvo.

Example

Veja o exemplo para CRichEditView::WrapChanged.

CRichEditView::OnCharEffect

Chame esta função para alternar os efeitos de formatação de caracteres para a seleção atual.

void OnCharEffect(
    DWORD dwMask,
    DWORD dwEffect);

Parâmetros

dwMask
A formatação de caracteres afeta a modificação na seleção atual.

dwEffect
A lista desejada de efeitos de formatação de caracteres a alternar.

Observações

Cada chamada a esta função alterna os efeitos de formatação especificados para a seleção atual.

Para mais informações sobre os parâmetros dwMask e dwEffect e os seus valores potenciais, consulte os membros de dados correspondentes do CHARFORMAT no SDK do Windows.

Example

void CMyRichEditView::OnItalic()
{
   OnCharEffect(CFM_ITALIC, CFE_ITALIC);
}

CRichEditView::OnFind Next

Chamado pela framework ao processar comandos da caixa de diálogo Encontrar/Recolocar.

virtual void OnFindNext(
    LPCTSTR lpszFind,
    BOOL bNext,
    BOOL bCase,
    BOOL bWord);

Parâmetros

lpszFind
A cadeia a localizar.

bNext
A direção a pesquisar: VERDADEIRO indica para baixo; FALSO, para cima.

bCase
Indica se a busca deve ser sensível a maiúsculas e minúsculas.

bWord
Indica se a pesquisa corresponde apenas a palavras inteiras ou não.

Observações

Chame esta função para encontrar texto dentro do CRichEditView. Sobrepõe esta função para alterar as características de pesquisa da tua classe de visualização derivada.

CRichEditView::OnInitialUpdate

Chamado pela estrutura após a visualização estar inicialmente anexada ao documento, mas antes da visualização ser inicialmente apresentada.

virtual void OnInitialUpdate();

Observações

A implementação padrão desta função chama a função membro CView::OnUpdate sem qualquer informação de hint (ou seja, usando os valores padrão de 0 para o parâmetro lHint e NULL para o parâmetro pHint ). Substitua esta função para realizar qualquer inicialização única que exija informação sobre o documento. Por exemplo, se a sua aplicação tiver documentos de tamanho fixo, pode usar esta função para inicializar os limites de scroll de uma vista com base no tamanho do documento. Se a sua aplicação suportar documentos de tamanho variável, use OnUpdate para atualizar os limites de scroll sempre que o documento mudar.

Example

Veja o exemplo para CRichEditView::m_nWordWrap.

CRichEditView::OnPasteNativeObject

Use esta função para carregar dados nativos de um item incorporado.

virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);

Parâmetros

lpStg
Apontador para um objeto IStorage .

Valor de retorno

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

Observações

Normalmente, faz-se isto criando um COleStreamFile em torno do IStorage. Podem COleStreamFile ser ligados a um arquivo e chamado CObject::Serialize para carregar os dados.

Isto é um ultrapassível avançado.

Para mais informações, veja IStorage no SDK do Windows.

CRichEditView::OnParaAlign

Chame esta função para alterar o alinhamento dos parágrafos selecionados.

void OnParaAlign(WORD wAlign);

Parâmetros

wAlign
Alinhamento de parágrafo desejado. Um dos seguintes valores:

  • PFA_LEFT Alinhe os parágrafos com a margem esquerda.

  • PFA_RIGHT Alinhe os parágrafos com a margem direita.

  • PFA_CENTER Centralize os parágrafos entre as margens.

Example

void CMyRichEditView::OnParaCenter()
{
   OnParaAlign(PFA_CENTER);
}

CRichEditView::OnPrinterChanged

Substitua esta função para alterar as características desta vista rica de edição quando a impressora mudar.

virtual void OnPrinterChanged(const CDC& dcPrinter);

Parâmetros

dcPrinter
Um objeto CDC para a nova impressora.

Observações

A implementação padrão define o tamanho do papel para a altura e largura físicas do dispositivo de saída (impressora). Se não houver contexto de dispositivo associado ao dcPrinter, a implementação padrão define o tamanho do papel para 8,5 por 11 polegadas.

CRichEditView::OnReplaceAll

Chamado pelo framework ao processar os comandos Substituir Todos a partir da caixa de diálogo Substituir.

virtual void OnReplaceAll(
    LPCTSTR lpszFind,
    LPCTSTR lpszReplace,
    BOOL bCase,
    BOOL bWord);

Parâmetros

lpszFind
O texto a ser substituído.

lpszReplace
O texto de substituição.

bCase
Indica se a pesquisa é sensível a maiúsculas e minúsculas.

bWord
Indica se a pesquisa deve selecionar palavras inteiras ou não.

Observações

Chame esta função para substituir todas as ocorrências de um determinado texto por outra cadeia. Substitua esta função para alterar as características de pesquisa para esta visão.

Example

Veja o exemplo para CRichEditView::FindText.

CRichEditView::OnReplaceSel

Chamado pela framework ao processar comandos Substituir a partir da caixa de diálogo Substituir.

virtual void OnReplaceSel(
    LPCTSTR lpszFind,
    BOOL bNext,
    BOOL bCase,
    BOOL bWord,
    LPCTSTR lpszReplace);

Parâmetros

lpszFind
O texto a ser substituído.

bNext
Indica a direção da pesquisa: TRUE está para baixo; FALSO, para cima.

bCase
Indica se a pesquisa é sensível a maiúsculas e minúsculas.

bWord
Indica se a pesquisa deve selecionar palavras inteiras ou não.

lpszReplace
O texto de substituição.

Observações

Chame esta função para substituir uma ocorrência de um determinado texto por outra string. Substitua esta função para alterar as características de pesquisa para esta visão.

CRichEditView::NoTextNotFound

É chamado pelo framework sempre que uma pesquisa falha.

virtual void OnTextNotFound(LPCTSTR lpszFind);

Parâmetros

lpszFind
O texto que não foi encontrado.

Observações

Substitua esta função para alterar a notificação de saída de um MessageBeep.

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

Example

void CMyRichEditView::OnTextNotFound(LPCTSTR lpszFind)
{
   // Replace the beep with a message box
   CString str;
   str.Format(_T("'%s' was not found."), lpszFind);
   AfxMessageBox(str);
}

CRichEditView::OnUpdateCharEffect

O framework chama esta função para atualizar a interface de comandos para comandos de efeito de caracteres.

void OnUpdateCharEffect(
    CCmdUI* pCmdUI,
    DWORD dwMask,
    DWORD dwEffect);

Parâmetros

pCmdUI
Apontador para um objeto CCmdUI .

dwMask
Indica a máscara de formatação de caracteres.

dwEffect
Indica o efeito de formatação de caracteres.

Observações

A máscara dwMask especifica quais os atributos de formatação de caracteres a verificar. As flags dwEffect listam os atributos de formatação de caracteres a definir/limpar.

Para mais informações sobre os parâmetros dwMask e dwEffect e os seus valores potenciais, consulte os membros de dados correspondentes do CHARFORMAT no SDK do Windows.

Example

void CMyRichEditView::OnUpdateCharItalicUI(CCmdUI* pCmdUI)
{
   OnUpdateCharEffect(pCmdUI, CFM_ITALIC, CFE_ITALIC);
}

CRichEditView::OnUpdateParaAlign

O framework chama esta função para atualizar a interface de comandos para comandos de efeito de parágrafo.

void OnUpdateParaAlign(
    CCmdUI* pCmdUI,
    WORD wAlign);

Parâmetros

pCmdUI
Apontador para um objeto CCmdUI .

wAlign
O alinhamento dos parágrafos para verificar. Um dos seguintes valores:

  • PFA_LEFT Alinhe os parágrafos com a margem esquerda.

  • PFA_RIGHT Alinhe os parágrafos com a margem direita.

  • PFA_CENTER Centralize os parágrafos entre as margens.

Example

void CMyRichEditView::OnUpdateParaCenterUI(CCmdUI* pCmdUI)
{
   OnUpdateParaAlign(pCmdUI, PFA_CENTER);
}

CRichEditView::P rintInsideRect

Chame esta função para formatar um intervalo de texto num controlo de edição enriquecido para caber dentro do rectLayout do dispositivo especificado por pDC.

long PrintInsideRect(
    CDC* pDC,
    RECT& rectLayout,
    long nIndexStart,
    long nIndexStop,
    BOOL bOutput);

Parâmetros

pDC
Apontar para um contexto de dispositivo para a área de saída.

rectLayout
RECT ou CRect , que define a área de saída.

nIndexStart
Índice baseado em zero do primeiro carácter a ser formatado.

nIndexStop
Índice baseado em zero do último carácter a ser formatado.

bSaída
Indica se o texto deve ser renderizado. Se FALSE, o texto é apenas medido.

Valor de retorno

O índice do último carácter que cabe na área de saída mais um.

Observações

Normalmente, esta chamada é seguida por uma chamada para CRichEditCtrl::D isplayBand que gera a saída.

Example

Veja o exemplo para CRichEditView::GetPaperSize.

CRichEditView::P rintPage

Chame esta função para formatar um intervalo de texto num controlo de edição enriquecido para o dispositivo de saída especificado pelo pDC.

long PrintPage(
    CDC* pDC,
    long nIndexStart,
    long nIndexStop);

Parâmetros

pDC
Apontar para o contexto de um dispositivo para a saída da página.

nIndexStart
Índice baseado em zero do primeiro carácter a ser formatado.

nIndexStop
Índice baseado em zero do último carácter a ser formatado.

Valor de retorno

O índice do último carácter que cabe na página mais um.

Observações

O layout de cada página é controlado pelo GetPageRect e GetPrintRect. Normalmente, esta chamada é seguida por uma chamada para CRichEditCtrl::D isplayBand que gera a saída.

Note que as margens são relativas à página física, não à página lógica. Assim, margens de zero muitas vezes cortam o texto, pois muitas impressoras têm áreas impossíveis de imprimir na página. Para evitar recortar o texto, deve chamar o SetMargins e definir margens razoáveis antes de imprimir.

CRichEditView::QueryAcceptData

Chamado pelo framework para colar um objeto na edição rica.

virtual HRESULT QueryAcceptData(
    LPDATAOBJECT lpdataobj,
    CLIPFORMAT* lpcfFormat,
    DWORD dwReco,
    BOOL bReally,
    HGLOBAL hMetaFile);

Parâmetros

lpdataobj
Apontar para o IDataObject para consultar.

lpcfFormat
Apontar para o formato de dados aceitável.

dwReco
Não utilizado.

bRealmente
Indica se a operação de colagem deve continuar ou não.

hMetaFile
Um handle para o metaficheiro usado para desenhar o ícone do item.

Valor de retorno

Um valor HRESULT que reporta o sucesso da operação.

Observações

Sobrepõe esta função para gerir diferentes organizações de itens COM na tua classe de documento derivada. Isto é um ultrapassível avançado.

Para mais informações sobre HRESULT e IDataObject, veja Estrutura dos Códigos de Erro COM e IDataObject, respetivamente, no SDK do Windows.

Example

// This code fragment is taken from the Wordpad sample.
HRESULT CMyRichEditView::QueryAcceptData(LPDATAOBJECT lpdataobj,
   CLIPFORMAT* lpcfFormat, DWORD dwReco, BOOL bReally, HGLOBAL hMetaFile)
{
   if (bReally && *lpcfFormat == 0 && (m_nPasteType == 0))
   {
      COleDataObject dataobj;
      dataobj.Attach(lpdataobj, FALSE);
      if (!dataobj.IsDataAvailable(cfRTO)) // native avail, let 
                                           // richedit do as it wants
      {
         if (dataobj.IsDataAvailable(cfEmbeddedObject))
         {
            if (PasteNative(lpdataobj)) // See WordPad sample for info
                                        // on PasteNative
               return S_FALSE;
         }
      }
   }
   return CRichEditView::QueryAcceptData(lpdataobj, lpcfFormat, dwReco,
      bReally, hMetaFile);
}

CRichEditView::SetCharFormat

Chame esta função para definir os atributos de formatação de caracteres para novo texto neste CRichEditView objeto.

void SetCharFormat(CHARFORMAT2 cf);

Parâmetros

cf
CHARFORMAT2 estrutura contendo os novos atributos padrão de formatação de caracteres.

Observações

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

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

Example

void CMyRichEditView::OnCharUnderline()
{
   CHARFORMAT2 cf;
   cf = GetCharFormatSelection();

   if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
      cf.dwEffects = CFE_UNDERLINE;
   else
      cf.dwEffects = 0;

   cf.dwMask = CFM_UNDERLINE;
   SetCharFormat(cf);
}

CRichEditView::SetMargins

Chame esta função para definir as margens de impressão desta vista de edição rica.

void SetMargins(const CRect& rectMargin);

Parâmetros

rectMargin
Os novos valores de margem para impressão, medidos em MM_TWIPS.

Observações

Se m_nWordWrap for WrapToTargetDevice, deve chamar o WrapChanged depois de usar esta função para ajustar as características de impressão.

Note que as margens usadas pelo PrintPage são relativas à página física, não à página lógica. Assim, margens de zero muitas vezes cortam o texto, pois muitas impressoras têm áreas impossíveis de imprimir na página. Para evitar recortar o seu texto, deve ligar para definir SetMargins margens razoáveis na impressora antes de imprimir.

Example

Veja o exemplo para CRichEditView::GetPaperSize.

CRichEditView::SetPaperSize

Chame esta função para definir o tamanho do papel para imprimir esta vista rica de edição.

void SetPaperSize(CSize sizePaper);

Parâmetros

tamanhoPapel
Os novos valores de tamanho de papel para impressão, medidos em MM_TWIPS.

Observações

Se m_nWordWrap for WrapToTargetDevice, deve chamar o WrapChanged depois de usar esta função para ajustar as características de impressão.

Example

BOOL CMyRichEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
   // Set the printing margins (720 twips = 1/2 inch).
   SetMargins(CRect(720, 720, 720, 720));

   // Change the paper orientation to landscape mode
   // See the example for CWinApp::GetPrinterDeviceDefaults
   ((CMyWinApp*)AfxGetApp())->SetLandscapeMode();

   // Change the paper size in the CRichEditView to 
   // reflect landscape mode
   CSize csPaper = GetPaperSize();
   int temp;
   temp = csPaper.cx; csPaper.cx = csPaper.cy; csPaper.cy = temp;
   SetPaperSize(csPaper);

   return DoPreparePrinting(pInfo);
}

CRichEditView::SetParaFormat

Chame esta função para definir os atributos de formatação de parágrafo para a seleção atual neste CRichEditView objeto.

BOOL SetParaFormat(PARAFORMAT2& pf);

Parâmetros

pf
PARAFORMAT2 estrutura contendo os novos atributos padrão de formatação de parágrafo.

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 EM_SETPARAFORMAT mensagem e estrutura PARAFORMAT2 no SDK do Windows.

Example

void CMyRichEditView::AddBullets()
{
   PARAFORMAT2 pf;

   pf.cbSize = sizeof(PARAFORMAT2);
   pf.dwMask = PFM_NUMBERING | PFM_OFFSET;
   pf.wNumbering = PFN_BULLET;
   pf.dxOffset = 10;

   VERIFY(SetParaFormat(pf));
}

CRichEditView::TextNotFound

Chame esta função para reiniciar o estado interno de pesquisa do controlo CRichEditView após uma chamada falhada para o FindText.

void TextNotFound(LPCTSTR lpszFind);

Parâmetros

lpszFind
Contém a cadeia de texto que não foi encontrada.

Observações

Recomenda-se que este método seja chamado imediatamente após chamadas falhadas ao FindText para que o estado interno de pesquisa do controlo seja devidamente reiniciado.

O parâmetro lpszFind deve incluir o mesmo conteúdo da cadeia fornecida ao FindText. Após redefinir o estado interno da pesquisa, este método chamará o método OnTextNotFound com a cadeia de pesquisa fornecida.

Example

Veja o exemplo para CRichEditView::FindText.

CRichEditView::WrapChanged

Chame esta função quando as características de impressão mudaram ( MargensDeConjunto ou TamanhoPapelAjustado).

virtual void WrapChanged();

Observações

Substitua esta função para modificar a forma como a vista de edição rica responde a alterações na m_nWordWrap ou às características de impressão ( OnPrinterChanged).

Example

void CMyRichEditView::OnInitialUpdate()
{
   CRichEditView::OnInitialUpdate();

   // Turn on the horizontal scroll bar
   m_nWordWrap = WrapNone;
   WrapChanged();
}

Consulte também

Exemplo de WORDPAD MFC
Classe CCtrlView
Gráfico de Hierarquia
Classe CRichEditDoc
Classe CRichEditCntrItem