Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
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
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:
WrapNoneIndica que não há enrolamento automático de palavras.WrapToWindowIndica o enrolamento de palavras com base na largura da janela.WrapToTargetDeviceIndica 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