Sdílet prostřednictvím


CRichEditView – třída

S CRichEditDoc a CRichEditCntrItem poskytuje funkce bohatého ovládacího prvku pro úpravy v kontextu architektury zobrazení dokumentů MFC.

Syntaxe

class CRichEditView : public CCtrlView

Členové

Veřejné konstruktory

Název Popis
CRichEditView::CRichEditView CRichEditView Vytvoří objekt.

Veřejné metody

Název Popis
CRichEditView::AdjustDialogPosition Přesune dialogové okno tak, aby nepřekrylo aktuální výběr.
CRichEditView::CanPaste Určuje, jestli schránka obsahuje data, která lze vložit do zobrazení pro úpravy s formátovaným obsahem.
CRichEditView::D oPaste Vloží položku OLE do tohoto bohatého zobrazení pro úpravy.
CRichEditView::FindText Najde zadaný text, který vyvolá kurzor čekání.
CRichEditView::FindTextSimple Najde zadaný text.
CRichEditView::GetCharFormatSelection Načte atributy formátování znaků pro aktuální výběr.
CRichEditView::GetDocument Načte ukazatel na související CRichEditDoc.
CRichEditView::GetInPlaceActiveItem Načte položku OLE, která je aktuálně aktivní v zobrazení pro úpravy s formátem.
CRichEditView::GetMargins Načte okraje pro toto bohaté zobrazení pro úpravy.
CRichEditView::GetPageRect Načte obdélník stránky pro toto bohaté zobrazení pro úpravy.
CRichEditView::GetPaperSize Načte formát papíru pro toto bohaté zobrazení pro úpravy.
CRichEditView::GetParaFormatSelection Načte atributy formátování odstavce pro aktuální výběr.
CRichEditView::GetPrintRect Načte obdélník tisku pro toto zobrazení pro úpravy s formátem.
CRichEditView::GetPrintWidth Načte šířku tisku pro toto bohaté zobrazení pro úpravy.
CRichEditView::GetRichEditCtrl Načte ovládací prvek pro úpravy s formátem.
CRichEditView::GetSelectedItem Načte vybranou položku ze zobrazení pro úpravy s formátem.
CRichEditView::GetTextLength Načte délku textu v zobrazení pro úpravy s formátováním.
CRichEditView::GetTextLengthEx Načte počet znaků nebo bajtů v zobrazení pro úpravy s formátem. Rozbalený seznam příznaků pro metodu určení délky.
CRichEditView::InsertFileAsObject Vloží soubor jako položku OLE.
CRichEditView::InsertItem Vloží novou položku jako položku OLE.
CRichEditView::IsRichEditFormat Určuje, jestli schránka obsahuje data v formátovaného formátu pro úpravy nebo text.
CRichEditView::OnCharEffect Přepíná formátování znaků pro aktuální výběr.
CRichEditView::OnParaAlign Změní zarovnání odstavců.
CRichEditView::OnUpdateCharEffect Aktualizuje uživatelské rozhraní příkazů pro funkce veřejného člena znaku.
CRichEditView::OnUpdateParaAlign Aktualizuje uživatelské rozhraní příkazů pro veřejné členské funkce odstavce.
CRichEditView::P rintInsideRect Naformátuje zadaný text v daném obdélníku.
CRichEditView::P rintPage Naformátuje zadaný text na dané stránce.
CRichEditView::SetCharFormat Nastaví atributy formátování znaků pro aktuální výběr.
CRichEditView::SetMargins Nastaví okraje pro toto bohaté zobrazení pro úpravy.
CRichEditView::SetPaperSize Nastaví formát papíru pro toto bohaté zobrazení pro úpravy.
CRichEditView::SetParaFormat Nastaví atributy formátování odstavce pro aktuální výběr.
CRichEditView::TextNotFound Obnoví stav interního vyhledávání ovládacího prvku.

Chráněné metody

Název Popis
CRichEditView::GetClipboardData Načte objekt schránky pro oblast v tomto zobrazení pro úpravy s formátem.
CRichEditView::GetContextMenu Načte místní nabídku, která se použije na pravém tlačítku myši dolů.
CRichEditView::IsSelected Označuje, zda je daná položka OLE vybrána nebo není.
CRichEditView::OnFindNext Najde další výskyt podřetětěce.
CRichEditView::OnInitialUpdate Aktualizuje zobrazení při prvním připojení k dokumentu.
CRichEditView::OnPasteNativeObject Načte nativní data z položky OLE.
CRichEditView::OnPrinterChanged Nastaví vlastnosti tisku na dané zařízení.
CRichEditView::OnReplaceAll Nahradí všechny výskyty daného řetězce novým řetězcem.
CRichEditView::OnReplaceSel Nahradí aktuální výběr.
CRichEditView::OnTextNotFound Zpracovává oznámení uživatele, že požadovaný text nebyl nalezen.
CRichEditView::QueryAcceptData Dotazy, které se mají zobrazit o datech v souboru IDataObject.
CRichEditView::WrapChanged Upraví cílové výstupní zařízení pro toto bohaté zobrazení pro úpravy na základě hodnoty m_nWordWrap.

Veřejné datové členy

Název Popis
CRichEditView::m_nBulletIndent Určuje velikost odsazení seznamů odrážek.
CRichEditView::m_nWordWrap Označuje omezení zalamování slov.

Poznámky

"Ovládací prvek pro úpravy s formátováním" je okno, ve kterém může uživatel zadat a upravit text. Text může mít přiřazené formátování znaků a odstavců a může obsahovat vložené objekty OLE. Ovládací prvky pro úpravy s formátováním poskytují programovací rozhraní pro formátování textu. Aplikace však musí implementovat všechny součásti uživatelského rozhraní nezbytné k tomu, aby byly pro uživatele k dispozici operace formátování.

CRichEditView udržuje text a formátování charakteristické pro text. CRichEditDoc udržuje seznam položek klienta OLE, které jsou v zobrazení. CRichEditCntrItem poskytuje přístup na straně kontejneru k položce klienta OLE.

Tento běžný ovládací prvek systému Windows (a proto CRichEditCtrl a související třídy) je k dispozici pouze pro programy spuštěné v systému Windows 95/98 a systém Windows NT verze 3.51 a novější.

Příklad použití bohatého zobrazení pro úpravy v aplikaci MFC naleznete v ukázkové aplikaci WORDPAD .

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CView

CCtrlView

CRichEditView

Požadavky

Záhlaví: afxrich.h

CRichEditView::AdjustDialogPosition

Voláním této funkce přesunete dané dialogové okno tak, aby nepřekrylo aktuální výběr.

void AdjustDialogPosition(CDialog* pDlg);

Parametry

pDlg
Ukazatel na CDialog objekt.

CRichEditView::CanPaste

Voláním této funkce určíte, jestli schránka obsahuje informace, které lze vložit do tohoto zobrazení pro úpravy s formátovaným obsahem.

BOOL CanPaste() const;

Návratová hodnota

Nenulové, pokud schránka obsahuje data ve formátu, který může toto zobrazení pro úpravy s formátováním přijmout; jinak, 0.

CRichEditView::CRichEditView

Voláním této funkce vytvoříte CRichEditView objekt.

CRichEditView();

CRichEditView::D oPaste

Voláním této funkce vložíte položku OLE v dataobj do tohoto bohatého dokumentu nebo zobrazení pro úpravy.

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

Parametry

dataobj
Objekt COleDataObject obsahující data, která chcete vložit.

viz
Požadovaný formát schránky.

hMetaPict
Metasoubor, který představuje položku, kterou chcete vložit.

Poznámky

Architektura tuto funkci volá jako součást výchozí implementace QueryAcceptData.

Tato funkce určuje typ vložení na základě výsledků obslužné rutiny pro vložit jinak. Pokud je cf 0, nová položka používá aktuální ikonickou reprezentaci. Pokud je cf nenulové a hMetaPict není NULL, nová položka používá hMetaPict pro jeho reprezentaci.

CRichEditView::FindText

Voláním této funkce vyhledáte zadaný text a nastavíte ho na aktuální výběr.

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

Parametry

lpszFind
Obsahuje řetězec, který chcete vyhledat.

bCase
Označuje, jestli je hledání citlivé na malá a velká písmena.

bWord
Určuje, jestli má hledání odpovídat pouze celým slovům, nikoli částem slov.

bNext
Určuje směr hledání. Pokud je pravda, směr hledání je směrem ke konci vyrovnávací paměti. Pokud je hodnota FALSE, směr hledání je směrem k začátku vyrovnávací paměti.

Návratová hodnota

Nenulové, pokud je nalezen text lpszFind ; jinak 0.

Poznámky

Tato funkce zobrazí kurzor čekání během operace hledání.

Příklad

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

Voláním této funkce vyhledáte zadaný text a nastavíte ho na aktuální výběr.

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

Parametry

lpszFind
Obsahuje řetězec, který chcete vyhledat.

bCase
Označuje, jestli je hledání citlivé na malá a velká písmena.

bWord
Určuje, jestli má hledání odpovídat pouze celým slovům, nikoli částem slov.

bNext
Určuje směr hledání. Pokud je pravda, směr hledání je směrem ke konci vyrovnávací paměti. Pokud je hodnota FALSE, směr hledání je směrem k začátku vyrovnávací paměti.

Návratová hodnota

Nenulové, pokud je nalezen text lpszFind ; jinak 0.

Příklad

Podívejte se na příklad pro CRichEditView::FindText.

CRichEditView::GetCharFormatSelection

Voláním této funkce získáte atributy formátování znaků aktuálního výběru.

CHARFORMAT2& GetCharFormatSelection();

Návratová hodnota

Struktura CHARFORMAT2 , která obsahuje atributy formátování znaků aktuálního výběru.

Poznámky

Další informace najdete v EM_GETCHARFORMAT zprávě a struktuře CHARFORMAT2 v sadě Windows SDK.

Příklad

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

Architektura volá tuto funkci jako součást zpracování IRichEditOleCallback::GetClipboardData.

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

Parametry

lpchrg
Ukazatel na strukturu CHARRANGE určující rozsah znaků (a položky OLE) kopírovat do datového objektu určeného lplpdataobj.

dwReco
Příznak operace schránky Může to být jedna z těchto hodnot.

  • RECO_COPY zkopírovat do schránky.

  • RECO_CUT Vyjmout do schránky.

  • RECO_DRAG operace přetažení (přetažení).

  • RECO_DROP operace přetažení (přetažení).

  • RECO_PASTE Vložit ze schránky.

lpRichDataObj
Ukazatel na objekt IDataObject obsahující data schránky z bohatého ovládacího prvku pro úpravy ( IRichEditOle::GetClipboardData).

lplpdataobj
Ukazatel na proměnnou ukazatele, která přijímá adresu objektu IDataObject představující rozsah zadaný v parametru lpchrg . Hodnota lplpdataobj je ignorována, pokud je vrácena chyba.

Návratová hodnota

Hodnota HRESULT hlásí úspěch operace. Další informace o HRESULT naleznete v tématu Struktura kódů chyb modelu COM v sadě Windows SDK.

Poznámky

Pokud návratová hodnota označuje úspěch, vrátí přístup pomocí lplpdataobj; v opačném případě vrátí hodnotu, ke které přistupuje lpRichDataObj.IDataObject IRichEditOleCallback::GetClipboardData Tuto funkci přepište tak, aby se zadává vlastní data schránky. Výchozí implementace této funkce vrátí E_NOTIMPL.

Jedná se o pokročilý přepis.

Další informace naleznete v tématu IRichEditOle::GetClipboardData, IRichEditOleCallback::GetClipboardData a CHARRANGE v sadě Windows SDK a viz IDataObject v sadě Windows SDK.

CRichEditView::GetContextMenu

Architektura tuto funkci volá jako součást zpracování IRichEditOleCallback::GetContextMenu.

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

Parametry

seltyp
Typ výběru. Hodnoty typu výběru jsou popsány v části Poznámky.

lpoleobj
Ukazatel na OLEOBJECT strukturu určující první vybraný objekt OLE, pokud výběr obsahuje jednu nebo více položek OLE. Pokud výběr neobsahuje žádné položky, má lpoleobj hodnotu NULL. Struktura OLEOBJECT obsahuje ukazatel na objekt OLE v-table.

lpchrg
Ukazatel na strukturu CHARRANGE obsahující aktuální výběr.

Návratová hodnota

Popisovač místní nabídky

Poznámky

Tato funkce je typickou součástí zpracování pravého tlačítka myši.

Typ výběru může být libovolná kombinace následujících příznaků:

  • SEL_EMPTY Označuje, že neexistuje žádný aktuální výběr.

  • SEL_TEXT Označuje, že aktuální výběr obsahuje text.

  • SEL_OBJECT Označuje, že aktuální výběr obsahuje alespoň jednu položku OLE.

  • SEL_MULTICHAR Označuje, že aktuální výběr obsahuje více než jeden znak textu.

  • SEL_MULTIOBJECT Označuje, že aktuální výběr obsahuje více než jeden objekt OLE.

Výchozí implementace vrátí hodnotu NULL. Jedná se o pokročilý přepis.

Další informace naleznete v tématu IRichEditOleCallback::GetContextMenu a CHARRANGE v sadě Windows SDK.

CRichEditView::GetDocument

Voláním této funkce získáte ukazatel na CRichEditDoc přidružený k tomuto zobrazení.

CRichEditDoc* GetDocument() const;

Návratová hodnota

Ukazatel na CRichEditDoc objekt přidružený k objektu CRichEditView .

CRichEditView::GetInPlaceActiveItem

Voláním této funkce získáte položku OLE, která je aktuálně aktivována v tomto CRichEditView objektu.

CRichEditCntrItem* GetInPlaceActiveItem() const;

Návratová hodnota

Ukazatel na jeden, místní aktivní CRichEditCntrItem objekt v tomto bohatém zobrazení pro úpravy; Null, pokud v aktuálním aktivním stavu není žádná položka OLE.

CRichEditView::GetMargins

Voláním této funkce načtete aktuální okraje použité při tisku.

CRect GetMargins() const;

Návratová hodnota

Okraje použité při tisku měřené v MM_TWIPS.

CRichEditView::GetPageRect

Voláním této funkce získáte rozměry stránky použité při tisku.

CRect GetPageRect() const;

Návratová hodnota

Hranice stránky použité při tisku měřené v MM_TWIPS.

Poznámky

Tato hodnota je založena na formátu papíru.

CRichEditView::GetPaperSize

Voláním této funkce načtěte aktuální formát papíru.

CSize GetPaperSize() const;

Návratová hodnota

Velikost papíru použitého při tisku měřená v MM_TWIPS.

Příklad

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

Voláním této funkce získáte atributy formátování odstavce aktuálního výběru.

PARAFORMAT2& GetParaFormatSelection();

Návratová hodnota

Struktura PARAFORMAT2 , která obsahuje atributy formátování odstavce aktuálního výběru.

Poznámky

Další informace najdete v tématu EM_GETPARAFORMAT zprávy a struktury PARAFORMAT2 v sadě Windows SDK.

CRichEditView::GetPrintRect

Voláním této funkce načtete hranice oblasti tisku v obdélníku stránky.

CRect GetPrintRect() const;

Návratová hodnota

Hranice oblasti obrázku použité při tisku měřené v MM_TWIPS.

Příklad

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

Voláním této funkce určíte šířku oblasti tisku.

int GetPrintWidth() const;

Návratová hodnota

Šířka oblasti tisku měřená v MM_TWIPS.

CRichEditView::GetRichEditCtrl

Voláním této funkce načtěte objekt CRichEditCtrl přidružený k objektu CRichEditView .

CRichEditCtrl& GetRichEditCtrl() const;

Návratová hodnota

Objekt CRichEditCtrl pro toto zobrazení.

Příklad

Podívejte se na příklad pro CRichEditView::FindText.

CRichEditView::GetSelectedItem

Voláním této funkce načtete položku OLE (objekt) aktuálně vybranou CRichEditCntrItem v tomto CRichEditView objektu.

CRichEditCntrItem* GetSelectedItem() const;

Návratová hodnota

Ukazatel na CRichEditCntrItem objekt vybraný v objektu CRichEditView ; Null pokud není v tomto zobrazení vybrána žádná položka.

CRichEditView::GetTextLength

Voláním této funkce načtete délku textu v tomto CRichEditView objektu.

long GetTextLength() const;

Návratová hodnota

Délka textu v tomto CRichEditView objektu.

CRichEditView::GetTextLengthEx

Voláním této členské funkce vypočítáte délku textu v tomto CRichEditView objektu.

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

Parametry

dwFlags
Hodnota určující metodu, která se má použít při určování délky textu. Tento člen může být jedna nebo více hodnot uvedených v příznakech člena GETTEXTLENGTHEX popsané v sadě Windows SDK.

uCodePage
Znaková stránka pro překlad (CP_ACP pro znakovou stránku ANSI, 1200 pro Unicode).

Návratová hodnota

Počet znaků nebo bajtů v ovládacím prvku pro úpravy Pokud byly v dwFlags nastaveny nekompatibilní příznaky, vrátí tato členová funkce E_INVALIDARG.

Poznámky

GetTextLengthEx poskytuje další způsoby určení délky textu. Podporuje funkci Rich Edit 2.0. Další informace naleznete v tématu O ovládacích prvcích pro úpravy s formátem v sadě Windows SDK.

CRichEditView::InsertFileAsObject

Voláním této funkce vložíte zadaný soubor (jako CRichEditCntrItem objekt) do bohatého zobrazení pro úpravy.

void InsertFileAsObject(LPCTSTR lpszFileName);

Parametry

lpszFileName
Řetězec obsahující název souboru, který se má vložit.

CRichEditView::InsertItem

Voláním této funkce vložíte objekt CRichEditCntrItem do bohatého zobrazení pro úpravy.

HRESULT InsertItem(CRichEditCntrItem* pItem);

Parametry

pItem
Ukazatel na položku, kterou chcete vložit.

Návratová hodnota

Hodnota HRESULT označující úspěch vložení.

Poznámky

Další informace o HRESULT naleznete v tématu Struktura kódů chyb modelu COM v sadě Windows SDK.

CRichEditView::IsRichEditFormat

Voláním této funkce určíte, zda je formát schránky, což je text, formát RTF nebo formát RTF s položkami OLE.

static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);

Parametry

viz
Formát schránky, který je zajímavý.

Návratová hodnota

Nenulové, pokud je formát schránky s formátováním pro úpravy nebo text.

CRichEditView::IsSelected

Voláním této funkce určíte, zda je zadaná položka OLE aktuálně vybrána v tomto zobrazení.

virtual BOOL IsSelected(const CObject* pDocItem) const;

Parametry

pDocItem
Ukazatel na objekt v zobrazení.

Návratová hodnota

Nenulové, pokud je objekt vybrán; jinak 0.

Poznámky

Tuto funkci přepište, pokud má odvozená třída zobrazení jinou metodu pro zpracování výběru položek OLE.

CRichEditView::m_nBulletIndent

Odsazení položek odrážek v seznamu; ve výchozím nastavení 720 jednotek, což je 1/2 palce.

int m_nBulletIndent;

CRichEditView::m_nWordWrap

Určuje typ zalamování slov pro toto zobrazení pro úpravy s formátem.

int m_nWordWrap;

Poznámky

Jedna z následujících hodnot:

  • WrapNone Označuje žádné automatické zalamování slov.

  • WrapToWindow Označuje obtékání textu na základě šířky okna.

  • WrapToTargetDevice Označuje zalamování slov na základě charakteristik cílového zařízení.

Příklad

Podívejte se na příklad pro CRichEditView::WrapChanged.

CRichEditView::OnCharEffect

Voláním této funkce můžete přepnout efekty formátování znaků pro aktuální výběr.

void OnCharEffect(
    DWORD dwMask,
    DWORD dwEffect);

Parametry

DwMask
Efekty formátování znaků, které se mají upravit v aktuálním výběru.

dwEffect
Požadovaný seznam efektů formátování znaků, které chcete přepnout.

Poznámky

Každé volání této funkce přepíná zadané efekty formátování pro aktuální výběr.

Další informace o parametrech dwMask a dwEffect a jejich potenciálních hodnotách naleznete v odpovídajících datových členech CHARFORMAT v sadě Windows SDK.

Příklad

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

CRichEditView::OnFindNext

Volá se rozhraním při zpracování příkazů z dialogového okna Najít/nahradit.

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

Parametry

lpszFind
Řetězec, který se má najít.

bNext
Směr hledání: PRAVDA označuje dolů; NEPRAVDA, nahoru.

bCase
Určuje, jestli má být hledání rozlišovat malá a velká písmena.

bWord
Určuje, zda má hledání odpovídat pouze celým slovům nebo ne.

Poznámky

Voláním této funkce vyhledáte text v souboru CRichEditView. Přepište tuto funkci tak, aby změnila charakteristiky vyhledávání pro odvozenou třídu zobrazení.

CRichEditView::OnInitialUpdate

Volané architekturou po zobrazení je nejprve připojen k dokumentu, ale před zobrazením se zpočátku zobrazí.

virtual void OnInitialUpdate();

Poznámky

Výchozí implementace této funkce volá členovou funkci CView::OnUpdate bez informací nápovědy (to znamená, že pomocí výchozích hodnot 0 pro parametr lHint a NULL pro parametr pHint ). Tuto funkci přepište tak, aby prováděla jednorázovou inicializaci, která vyžaduje informace o dokumentu. Pokud má vaše aplikace například dokumenty s pevnou velikostí, můžete pomocí této funkce inicializovat limity posouvání zobrazení na základě velikosti dokumentu. Pokud vaše aplikace podporuje dokumenty s proměnlivou velikostí, použijte OnUpdate k aktualizaci limitů posouvání při každé změně dokumentu.

Příklad

Podívejte se na příklad pro CRichEditView::m_nWordWrap.

CRichEditView::OnPasteNativeObject

Tato funkce slouží k načtení nativních dat z vložené položky.

virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);

Parametry

lpStg
Ukazatel na objekt IStorage .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0;

Poznámky

Obvykle byste to udělali vytvořením COleStreamFile kolem objektu IStorage. Lze COleStreamFile připojit k archivu a objekt CObject::Serialize volaný pro načtení dat.

Jedná se o pokročilý přepis.

Další informace najdete v tématu IStorage v sadě Windows SDK.

CRichEditView::OnParaAlign

Voláním této funkce změníte zarovnání odstavce pro vybrané odstavce.

void OnParaAlign(WORD wAlign);

Parametry

wAlign
Požadované zarovnání odstavce Jedna z následujících hodnot:

  • PFA_LEFT Zarovnat odstavce s levým okrajem.

  • PFA_RIGHT Zarovnat odstavce s pravým okrajem.

  • PFA_CENTER na střed odstavců mezi okraji.

Příklad

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

CRichEditView::OnPrinterChanged

Přepište tuto funkci tak, aby při změně vlastností tohoto bohatého zobrazení pro úpravy změnila.

virtual void OnPrinterChanged(const CDC& dcPrinter);

Parametry

dcPrinter
Objekt CDC pro novou tiskárnu.

Poznámky

Výchozí implementace nastaví velikost papíru na fyzickou výšku a šířku výstupního zařízení (tiskárny). Pokud neexistuje žádný kontext zařízení přidružený k dcPrinter, výchozí implementace nastaví velikost papíru na 8,5 až 11 palců.

CRichEditView::OnReplaceAll

Volá se rozhraním při zpracování příkazu Nahradit všechny příkazy z dialogového okna Nahradit.

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

Parametry

lpszFind
Text, který se má nahradit.

lpszReplace
Náhradní text.

bCase
Označuje, jestli je hledání citlivé na malá a velká písmena.

bWord
Označuje, jestli hledání musí vybrat celá slova nebo ne.

Poznámky

Voláním této funkce nahradíte všechny výskyty některých zadaných textů jiným řetězcem. Přepište tuto funkci tak, aby změnila charakteristiky hledání pro toto zobrazení.

Příklad

Podívejte se na příklad pro CRichEditView::FindText.

CRichEditView::OnReplaceSel

Volá se rozhraním při zpracování příkazů Nahradit z dialogového okna Nahradit.

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

Parametry

lpszFind
Text, který se má nahradit.

bNext
Označuje směr hledání: PRAVDA je dolů; NEPRAVDA, nahoru.

bCase
Označuje, jestli je hledání citlivé na malá a velká písmena.

bWord
Označuje, jestli hledání musí vybrat celá slova nebo ne.

lpszReplace
Náhradní text.

Poznámky

Voláním této funkce nahradíte jeden výskyt některého daného textu jiným řetězcem. Přepište tuto funkci tak, aby změnila charakteristiky hledání pro toto zobrazení.

CRichEditView::OnTextNotFound

Volá se rozhraním vždy, když hledání selže.

virtual void OnTextNotFound(LPCTSTR lpszFind);

Parametry

lpszFind
Text, který nebyl nalezen.

Poznámky

Přepište tuto funkci tak, aby se změnilo výstupní oznámení z messageBeep.

Další informace naleznete v tématu MessageBeep v sadě Windows SDK.

Příklad

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

Architektura volá tuto funkci k aktualizaci uživatelského rozhraní příkazů pro příkazy efektu znaků.

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

Parametry

pCmdUI
Ukazatel na objekt CCmdUI .

DwMask
Označuje masku formátování znaků.

dwEffect
Označuje efekt formátování znaků.

Poznámky

Maska dwMask určuje, které atributy formátování znaků se mají zkontrolovat. Příznak dwEffect zobrazí seznam atributů formátování znaků, které se mají nastavit nebo vymazat.

Další informace o parametrech dwMask a dwEffect a jejich potenciálních hodnotách naleznete v odpovídajících datových členech CHARFORMAT v sadě Windows SDK.

Příklad

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

CRichEditView::OnUpdateParaAlign

Architektura volá tuto funkci, aby aktualizovalo uživatelské rozhraní příkazů pro příkazy efektu odstavce.

void OnUpdateParaAlign(
    CCmdUI* pCmdUI,
    WORD wAlign);

Parametry

pCmdUI
Ukazatel na objekt CCmdUI .

wAlign
Zarovnání odstavce, které chcete zkontrolovat. Jedna z následujících hodnot:

  • PFA_LEFT Zarovnat odstavce s levým okrajem.

  • PFA_RIGHT Zarovnat odstavce s pravým okrajem.

  • PFA_CENTER na střed odstavců mezi okraji.

Příklad

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

CRichEditView::P rintInsideRect

Voláním této funkce naformátujte rozsah textu v ovládacím prvku pro úpravy s formátováním tak, aby se vešel do rectLayout pro zařízení určené pDC.

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

Parametry

pDC
Ukazatel na kontext zařízení pro výstupní oblast

rectLayout
RECT nebo CRect , který definuje výstupní oblast.

nIndexStart
Index založený na nule prvního znaku, který se má naformátovat.

nIndexStop
Index založený na nule posledního znaku, který se má naformátovat.

bOutput
Určuje, jestli se má text vykreslit. Pokud je hodnota FALSE, text se právě měří.

Návratová hodnota

Index posledního znaku, který se vejde do výstupní oblasti plus jeden.

Poznámky

Za tímto voláním obvykle následuje volání CRichEditCtrl::D isplayBand , které vygeneruje výstup.

Příklad

Podívejte se na příklad pro CRichEditView::GetPaperSize.

CRichEditView::P rintPage

Voláním této funkce naformátujte rozsah textu v ovládacím prvku pro úpravy s formátováním pro výstupní zařízení určené pDC.

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

Parametry

pDC
Ukazatel na kontext zařízení pro výstup stránky

nIndexStart
Index založený na nule prvního znaku, který se má naformátovat.

nIndexStop
Index založený na nule posledního znaku, který se má naformátovat.

Návratová hodnota

Index posledního znaku, který se vejde na stránku plus jeden.

Poznámky

Rozložení každé stránky je řízeno GetPageRect a GetPrintRect. Za tímto voláním obvykle následuje volání CRichEditCtrl::D isplayBand , které vygeneruje výstup.

Všimněte si, že okraje jsou relativní k fyzické stránce, nikoli logické stránce. Okraje nuly proto často vystřiží text, protože mnoho tiskáren má na stránce netisknutelné oblasti. Abyste se vyhnuli výřezu textu, měli byste před tiskem zavolat SetMargins a nastavit přiměřené okraje.

CRichEditView::QueryAcceptData

Volá se rozhraním pro vložení objektu do úpravy s formátem.

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

Parametry

lpdataobj
Ukazatel na objekt IDataObject pro dotaz.

lpcfFormat
Ukazatel na přijatelný formát dat.

dwReco
Nepoužívá se.

bReally
Označuje, jestli má operace vložení pokračovat nebo ne.

hMetaFile
Popisovač metasouboru, který se používá k vykreslení ikony položky.

Návratová hodnota

Hodnota HRESULT hlásí úspěch operace.

Poznámky

Přepište tuto funkci tak, aby zpracovávala různé uspořádání položek modelu COM v odvozené třídě dokumentu. Jedná se o pokročilý přepis.

Další informace o HRESULT a IDataObject, naleznete v tématu Struktura kódy chyb MODELU COM a IDataObject, v uvedeném pořadí, v sadě Windows SDK.

Příklad

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

Voláním této funkce nastavíte atributy formátování znaků pro nový text v tomto CRichEditView objektu.

void SetCharFormat(CHARFORMAT2 cf);

Parametry

viz
CHARFORMAT2 struktura obsahující nové výchozí atributy formátování znaků.

Poznámky

Tuto funkci mění pouze atributy určené dwMask členem cf .

Další informace najdete v tématu EM_SETCHARFORMAT zpráva a struktura CHARFORMAT2 v sadě Windows SDK.

Příklad

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

Voláním této funkce nastavíte tiskové okraje pro toto bohaté zobrazení pro úpravy.

void SetMargins(const CRect& rectMargin);

Parametry

rectMargin
Nové hodnoty okrajů pro tisk měřené v MM_TWIPS.

Poznámky

Pokud je m_nWordWrapWrapToTargetDevice, měli byste po použití této funkce zavolat WrapChanged, abyste upravili vlastnosti tisku.

Všimněte si, že okraje používané aplikací PrintPage jsou relativní vzhledem k fyzické stránce, nikoli logické stránce. Okraje nuly proto často vystřiží text, protože mnoho tiskáren má na stránce netisknutelné oblasti. Abyste se vyhnuli výřezu textu, měli byste před tiskem volat, SetMargins abyste před tiskem nastavili přiměřené okraje tiskárny.

Příklad

Podívejte se na příklad pro CRichEditView::GetPaperSize.

CRichEditView::SetPaperSize

Voláním této funkce nastavíte formát papíru pro tisk tohoto bohatého zobrazení pro úpravy.

void SetPaperSize(CSize sizePaper);

Parametry

sizePaper
Nové hodnoty formátu papíru pro tisk měřené v MM_TWIPS.

Poznámky

Pokud je m_nWordWrapWrapToTargetDevice, měli byste po použití této funkce zavolat WrapChanged, abyste upravili vlastnosti tisku.

Příklad

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

Voláním této funkce nastavíte atributy formátování odstavce pro aktuální výběr v tomto CRichEditView objektu.

BOOL SetParaFormat(PARAFORMAT2& pf);

Parametry

Pf
PARAFORMAT2 struktura obsahující nové výchozí atributy formátování odstavce.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Touto funkcí se změní pouze atributy určené dwMask členem pf.

Další informace najdete v tématu EM_SETPARAFORMAT zpráva a struktura PARAFORMAT2 v sadě Windows SDK.

Příklad

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

Voláním této funkce obnovíte stav interního vyhledávání ovládacího prvku CRichEditView po neúspěšném volání FindText.

void TextNotFound(LPCTSTR lpszFind);

Parametry

lpszFind
Obsahuje textový řetězec, který nebyl nalezen.

Poznámky

Doporučuje se, aby byla tato metoda volána okamžitě po neúspěšných voláních FindText , aby byl interní stav vyhledávání ovládacího prvku správně resetovaný.

Parametr lpszFind by měl obsahovat stejný obsah jako řetězec zadaný pro FindText. Po resetování stavu interního vyhledávání bude tato metoda volat OnTextNotFound metoda s zadaným vyhledávacím řetězcem.

Příklad

Podívejte se na příklad pro CRichEditView::FindText.

CRichEditView::WrapChanged

Tuto funkci zavolejte, když se změnily vlastnosti tisku ( SetMargins nebo SetPaperSize).

virtual void WrapChanged();

Poznámky

Přepište tuto funkci tak, aby upravovala způsob, jakým zobrazení pro úpravy s bohatým obsahem reaguje na změny v m_nWordWrap nebo vlastnostech tisku ( OnPrinterChanged).

Příklad

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

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

Viz také

MFC – ukázka WORDPADU
CCtrlView – třída
Graf hierarchie
CRichEditDoc – třída
CRichEditCntrItem – třída