CRichEditView-Klasse

Mit CRichEditDoc und CRichEditCntrItem bietet die Funktionalität des Rich-Edit-Steuerelements im Kontext der Dokumentansichtsarchitektur von MFC.

Syntax

class CRichEditView : public CCtrlView

Member

Öffentliche Konstruktoren

Name Beschreibung
CRichEditView::CRichEditView Erstellt ein CRichEditView-Objekt.

Öffentliche Methoden

Name Beschreibung
CRichEditView::AdjustDialogPosition Verschiebt ein Dialogfeld, sodass die aktuelle Auswahl nicht verdeckt wird.
CRichEditView::CanPaste Gibt an, ob die Zwischenablage Daten enthält, die in die Rich-Edit-Ansicht eingefügt werden können.
CRichEditView::D oPaste Fügt ein OLE-Element in diese Rich-Edit-Ansicht ein.
CRichEditView::FindText Sucht den angegebenen Text und ruft den Wartecursor auf.
CRichEditView::FindTextSimple Sucht den angegebenen Text.
CRichEditView::GetCharFormatSelection Ruft die Zeichenformatierungsattribute für die aktuelle Auswahl ab.
CRichEditView::GetDocument Ruft einen Zeiger auf den zugehörigen CRichEditDoc ab.
CRichEditView::GetInPlaceActiveItem Ruft das OLE-Element ab, das derzeit in der Rich-Edit-Ansicht aktiv ist.
CRichEditView::GetMargins Ruft die Seitenränder für diese Rich-Edit-Ansicht ab.
CRichEditView::GetPageRect Ruft das Seitenrechteck für diese Rich-Edit-Ansicht ab.
CRichEditView::GetPaperSize Ruft das Papierformat für diese Rich-Edit-Ansicht ab.
CRichEditView::GetParaFormatSelection Ruft die Absatzformatierungsattribute für die aktuelle Auswahl ab.
CRichEditView::GetPrintRect Ruft das Druckrechteck für diese Rich-Edit-Ansicht ab.
CRichEditView::GetPrintWidth Ruft die Druckbreite für diese Rich-Edit-Ansicht ab.
CRichEditView::GetRichEditCtrl Ruft das Rich-Edit-Steuerelement ab.
CRichEditView::GetSelectedItem Ruft das ausgewählte Element aus der Rich-Edit-Ansicht ab.
CRichEditView::GetTextLength Ruft die Länge des Texts in der Rich-Edit-Ansicht ab.
CRichEditView::GetTextLengthEx Ruft die Anzahl der Zeichen oder Bytes in der Rich-Edit-Ansicht ab. Erweiterte Kennzeichnungsliste zum Bestimmen der Länge.
CRichEditView::InsertFileAsObject Fügt eine Datei als OLE-Element ein.
CRichEditView::InsertItem Fügt ein neues Element als OLE-Element ein.
CRichEditView::IsRichEditFormat Gibt an, ob die Zwischenablage Daten in einem Rich-Edit- oder Textformat enthält.
CRichEditView::OnCharEffect Schaltet die Zeichenformatierung für die aktuelle Auswahl um.
CRichEditView::OnParaAlign Ändert die Ausrichtung von Absätzen.
CRichEditView::OnUpdateCharEffect Aktualisiert die Befehls-UI für öffentliche Zeichenelemente.
CRichEditView::OnUpdateParaAlign Aktualisiert die Befehls-UI für öffentliche Absatzmitgliedsfunktionen.
CRichEditView::P rintInsideRect Formatiert den angegebenen Text innerhalb des angegebenen Rechtecks.
CRichEditView::P rintPage Formatiert den angegebenen Text innerhalb der angegebenen Seite.
CRichEditView::SetCharFormat Legt die Zeichenformatierungsattribute für die aktuelle Auswahl fest.
CRichEditView::SetMargins Legt die Seitenränder für diese Rich-Edit-Ansicht fest.
CRichEditView::SetPaperSize Legt das Papierformat für diese Rich-Edit-Ansicht fest.
CRichEditView::SetParaFormat Legt die Absatzformatierungsattribute für die aktuelle Auswahl fest.
CRichEditView::TextNotFound Setzt den internen Suchstatus des Steuerelements zurück.

Geschützte Methoden

Name Beschreibung
CRichEditView::GetClipboardData Ruft ein Zwischenablageobjekt für einen Bereich in dieser Rich-Edit-Ansicht ab.
CRichEditView::GetContextMenu Ruft ein Kontextmenü ab, das auf einer rechten Maustaste nach unten verwendet werden soll.
CRichEditView::IsSelected Gibt an, ob das angegebene OLE-Element ausgewählt ist oder nicht.
CRichEditView::OnFindNext Sucht das nächste Vorkommen einer Teilzeichenfolge.
CRichEditView::OnInitialUpdate Aktualisiert eine Ansicht, wenn sie zum ersten Mal an ein Dokument angefügt ist.
CRichEditView::OnPasteNativeObject Ruft systemeigene Daten aus einem OLE-Element ab.
CRichEditView::OnPrinterChanged Legt die Druckmerkmale auf das angegebene Gerät fest.
CRichEditView::OnReplaceAll Ersetzt alle Vorkommen einer bestimmten Zeichenfolge durch eine neue Zeichenfolge.
CRichEditView::OnReplaceSel Ersetzt die aktuelle Markierung.
CRichEditView::OnTextNotFound Behandelt die Benutzerbenachrichtigung, dass der angeforderte Text nicht gefunden wurde.
CRichEditView::QueryAcceptData Abfragen zum Anzeigen der Daten auf dem IDataObject.
CRichEditView::WrapChanged Passt das Zielausgabegerät für diese Rich-Edit-Ansicht basierend auf dem Wert von m_nWordWrap.

Öffentliche Datenmember

Name Beschreibung
CRichEditView::m_nBulletIndent Gibt die Größe des Einzugs für Aufzählungen an.
CRichEditView::m_nWordWrap Gibt die Umbrucheinschränkungen des Worts an.

Hinweise

Ein "Rich Edit Control" ist ein Fenster, in dem der Benutzer Text eingeben und bearbeiten kann. Der Text kann Zeichen- und Absatzformatierungen zugewiesen werden und eingebettete OLE-Objekte enthalten. Rich-Edit-Steuerelemente bieten eine Programmierschnittstelle zum Formatieren von Text. Eine Anwendung muss jedoch alle Benutzeroberflächenkomponenten implementieren, die erforderlich sind, um dem Benutzer Formatierungsvorgänge zur Verfügung zu stellen.

CRichEditViewStandard enthält den Text und die Formatierungseigenschaft von Text. CRichEditDocStandard enthält die Liste der OLE-Clientelemente, die sich in der Ansicht befinden. CRichEditCntrItem bietet containerseitigen Zugriff auf das OLE-Clientelement.

Dieses allgemeine Windows-Steuerelement (und daher die CRichEditCtrl und verwandte Klassen) ist nur für Programme verfügbar, die unter Windows 95/98 und Windows NT,3.51 und höher ausgeführt werden.

Ein Beispiel für die Verwendung einer Rich-Edit-Ansicht in einer MFC-Anwendung finden Sie in der WORDPAD-Beispielanwendung .

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CView

CCtrlView

CRichEditView

Anforderungen

Kopfzeile: afxrich.h

CRichEditView::AdjustDialogPosition

Rufen Sie diese Funktion auf, um das angegebene Dialogfeld zu verschieben, damit die aktuelle Auswahl nicht verdeckt wird.

void AdjustDialogPosition(CDialog* pDlg);

Parameter

pDlg
Zeiger auf ein CDialog Objekt.

CRichEditView::CanPaste

Rufen Sie diese Funktion auf, um zu ermitteln, ob die Zwischenablage Informationen enthält, die in diese Rich-Edit-Ansicht eingefügt werden können.

BOOL CanPaste() const;

Rückgabewert

Nonzero, wenn die Zwischenablage Daten in einem Format enthält, das diese Rich-Edit-Ansicht akzeptieren kann; andernfalls 0.

CRichEditView::CRichEditView

Rufen Sie diese Funktion auf, um ein CRichEditView Objekt zu erstellen.

CRichEditView();

CRichEditView::D oPaste

Rufen Sie diese Funktion auf, um das OLE-Element in dataobj in dieses umfangreiche Bearbeitungsdokument/diese Ansicht einzufügen.

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

Parameter

dataobj
Das COleDataObject , das die einzufügenden Daten enthält.

Cf
Das gewünschte Format der Zwischenablage.

hMetaPict
Die Metadatei, die das einzufügende Element darstellt.

Hinweise

Das Framework ruft diese Funktion als Teil der Standardimplementierung von QueryAcceptData auf.

Diese Funktion bestimmt den Typ des Einfügens basierend auf den Ergebnissen des Handlers für "Inhalte einfügen". Wenn cf 0 ist, verwendet das neue Element die aktuelle Iconic-Darstellung. Wenn cf nicht null ist und hMetaPict nicht NULL ist, verwendet das neue Element hMetaPict für seine Darstellung.

CRichEditView::FindText

Rufen Sie diese Funktion auf, um den angegebenen Text zu finden und als aktuelle Auswahl festzulegen.

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

Parameter

lpszFind
Enthält die Zeichenfolge, nach der gesucht werden soll.

bCase
Gibt an, ob bei der Suche die Groß-/Kleinschreibung beachtet wird.

bWord
Gibt an, ob die Suche nur mit ganzen Wörtern übereinstimmen soll, nicht mit Teilen von Wörtern.

bNext
Gibt die Richtung der Suche an. Wenn WAHR, liegt die Suchrichtung am Ende des Puffers. Wenn FALSE, liegt die Suchrichtung am Anfang des Puffers.

Rückgabewert

Nonzero, wenn der lpszFind-Text gefunden wird; andernfalls 0.

Hinweise

Diese Funktion zeigt den Wartecursor während des Suchvorgangs an.

Beispiel

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

Rufen Sie diese Funktion auf, um den angegebenen Text zu finden und als aktuelle Auswahl festzulegen.

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

Parameter

lpszFind
Enthält die Zeichenfolge, nach der gesucht werden soll.

bCase
Gibt an, ob bei der Suche die Groß-/Kleinschreibung beachtet wird.

bWord
Gibt an, ob die Suche nur mit ganzen Wörtern übereinstimmen soll, nicht mit Teilen von Wörtern.

bNext
Gibt die Richtung der Suche an. Wenn WAHR, liegt die Suchrichtung am Ende des Puffers. Wenn FALSE, liegt die Suchrichtung am Anfang des Puffers.

Rückgabewert

Nonzero, wenn der lpszFind-Text gefunden wird; andernfalls 0.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::FindText an.

CRichEditView::GetCharFormatSelection

Rufen Sie diese Funktion auf, um die Zeichenformatierungsattribute der aktuellen Auswahl abzurufen.

CHARFORMAT2& GetCharFormatSelection();

Rückgabewert

Eine CHARFORMAT2 Struktur, die die Zeichenformatierungsattribute der aktuellen Auswahl enthält.

Hinweise

Weitere Informationen finden Sie in der meldung EM_GETCHARFORMAT und der CHARFORMAT2 Struktur im Windows SDK.

Beispiel

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

Das Framework ruft diese Funktion als Teil der Verarbeitung von IRichEditOleCallback::GetClipboardData auf.

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

Parameter

lpchrg
Zeiger auf die CHARRANGE-Struktur, die den Bereich von Zeichen (und OLE-Elementen) angibt, um in das durch lplpdataobj angegebene Datenobjekt zu kopieren.

dwReco
Flag für den Zwischenablagevorgang. Dies kann einer dieser Werte sein.

  • RECO_COPY In die Zwischenablage kopieren.

  • RECO_CUT In die Zwischenablage ausschneiden.

  • RECO_DRAG Drag-Vorgang (Ziehen und Ablegen).

  • RECO_DROP Drop-Vorgang (Ziehen und Ablegen).

  • RECO_PASTE Aus der Zwischenablage einfügen.

lpRichDataObj
Zeiger auf ein IDataObject-Objekt , das die Zwischenablagedaten aus dem Rich-Edit-Steuerelement enthält ( IRichEditOle::GetClipboardData).

lplpdataobj
Zeiger auf die Zeigervariable, die die Adresse des IDataObject Objekts empfängt, das den im lpchrg-Parameter angegebenen Bereich darstellt. Der Wert von lplpdataobj wird ignoriert, wenn ein Fehler zurückgegeben wird.

Rückgabewert

Ein HRESULT-Wert, der den Erfolg des Vorgangs meldet. Weitere Informationen zu HRESULT finden Sie unter Struktur der COM-Fehlercodes im Windows SDK.

Hinweise

Wenn der Rückgabewert den Erfolg angibt, IRichEditOleCallback::GetClipboardData wird der IDataObject Zugriff von lplpdataobj zurückgegeben. Andernfalls wird der Zugriff von lpRichDataObj zurückgegeben. Überschreiben Sie diese Funktion, um Ihre eigenen Zwischenablagedaten zu liefern. Die Standardimplementierung dieser Funktion gibt E_NOTIMPL zurück.

Dies ist eine erweiterte Außerkraftsetzung.

Weitere Informationen finden Sie unter "IRichEditOle::GetClipboardData", "IRichEditOleCallback::GetClipboardData" und "CHARRANGE " im Windows SDK und unter "IDataObject " im Windows SDK.

CRichEditView::GetContextMenu

Das Framework ruft diese Funktion als Teil der Verarbeitung von IRichEditOleCallback::GetContextMenu auf.

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

Parameter

seltyp
Der Auswahltyp. Die Auswahltypwerte werden im Abschnitt "Hinweise" beschrieben.

lpoleobj
Zeigen Sie auf eine OLEOBJECT Struktur, die das erste ausgewählte OLE-Objekt angibt, wenn die Auswahl ein oder mehrere OLE-Elemente enthält. Wenn die Auswahl keine Elemente enthält, ist lpoleobj NULL. Die OLEOBJECT Struktur enthält einen Zeiger auf ein OLE-Objekt v-Tabelle.

lpchrg
Zeiger auf eine CHARRANGE-Struktur , die die aktuelle Auswahl enthält.

Rückgabewert

Behandeln Sie das Kontextmenü.

Hinweise

Diese Funktion ist ein typischer Teil der Verarbeitung der rechten Maustaste.

Der Auswahltyp kann eine beliebige Kombination der folgenden Flags sein:

  • SEL_EMPTY Gibt an, dass keine aktuelle Auswahl vorhanden ist.

  • SEL_TEXT Gibt an, dass die aktuelle Markierung Text enthält.

  • SEL_OBJECT Gibt an, dass die aktuelle Auswahl mindestens ein OLE-Element enthält.

  • SEL_MULTICHAR Gibt an, dass die aktuelle Markierung mehr als ein Zeichen mit Text enthält.

  • SEL_MULTIOBJECT Gibt an, dass die aktuelle Auswahl mehrere OLE-Objekte enthält.

Die Standardimplementierung gibt NULL zurück. Dies ist eine erweiterte Außerkraftsetzung.

Weitere Informationen finden Sie unter "IRichEditOleCallback::GetContextMenu " und "CHARRANGE " im Windows SDK.

CRichEditView::GetDocument

Rufen Sie diese Funktion auf, um einen Zeiger auf die CRichEditDoc dieser Ansicht zugeordnete Ansicht abzurufen.

CRichEditDoc* GetDocument() const;

Rückgabewert

Zeigen Sie auf ein CRichEditDoc-Objekt , das Ihrem CRichEditView Objekt zugeordnet ist.

CRichEditView::GetInPlaceActiveItem

Rufen Sie diese Funktion auf, um das OLE-Element abzurufen, das derzeit in diesem CRichEditView Objekt aktiviert ist.

CRichEditCntrItem* GetInPlaceActiveItem() const;

Rückgabewert

Ein Zeiger auf das einzelne, direkte aktive CRichEditCntrItem-Objekt in dieser Rich-Edit-Ansicht ; NULL, wenn sich derzeit kein OLE-Element im aktiven Zustand befindet.

CRichEditView::GetMargins

Rufen Sie diese Funktion auf, um die aktuellen Seitenränder abzurufen, die beim Drucken verwendet werden.

CRect GetMargins() const;

Rückgabewert

Die im Druck verwendeten Ränder, gemessen in MM_TWIPS.

CRichEditView::GetPageRect

Rufen Sie diese Funktion auf, um die Abmessungen der seite abzurufen, die beim Drucken verwendet wird.

CRect GetPageRect() const;

Rückgabewert

Die Grenzen der Seite, die beim Drucken verwendet werden, gemessen in MM_TWIPS.

Hinweise

Dieser Wert basiert auf dem Papierformat.

CRichEditView::GetPaperSize

Rufen Sie diese Funktion auf, um das aktuelle Papierformat abzurufen.

CSize GetPaperSize() const;

Rückgabewert

Die Größe des im Druck verwendeten Papiers, gemessen in MM_TWIPS.

Beispiel

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

Rufen Sie diese Funktion auf, um die Absatzformatierungsattribute der aktuellen Auswahl abzurufen.

PARAFORMAT2& GetParaFormatSelection();

Rückgabewert

Eine PARAFORMAT2 Struktur, die die Absatzformatierungsattribute der aktuellen Auswahl enthält.

Hinweise

Weitere Informationen finden Sie unter EM_GETPARAFORMAT Meldung und PARAFORMAT2 Struktur im Windows SDK.

CRichEditView::GetPrintRect

Rufen Sie diese Funktion auf, um die Grenzen des Druckbereichs innerhalb des Seitenrechtecks abzurufen.

CRect GetPrintRect() const;

Rückgabewert

Die Grenzen des Bildbereichs, der beim Drucken verwendet wird, gemessen in MM_TWIPS.

Beispiel

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

Rufen Sie diese Funktion auf, um die Breite des Druckbereichs zu bestimmen.

int GetPrintWidth() const;

Rückgabewert

Die Breite des Druckbereichs, gemessen in MM_TWIPS.

CRichEditView::GetRichEditCtrl

Rufen Sie diese Funktion auf, um das dem CRichEditView Objekt zugeordnete CRichEditCtrl-Objekt abzurufen.

CRichEditCtrl& GetRichEditCtrl() const;

Rückgabewert

Das CRichEditCtrl Objekt für diese Ansicht.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::FindText an.

CRichEditView::GetSelectedItem

Rufen Sie diese Funktion auf, um das derzeit in diesem CRichEditView Objekt ausgewählte OLE-Element (ein CRichEditCntrItem Objekt) abzurufen.

CRichEditCntrItem* GetSelectedItem() const;

Rückgabewert

Zeiger auf ein im CRichEditView Objekt ausgewähltes CRichEditCntrItem-Objekt; NULL, wenn in dieser Ansicht kein Element ausgewählt ist.

CRichEditView::GetTextLength

Rufen Sie diese Funktion auf, um die Länge des Texts in diesem CRichEditView Objekt abzurufen.

long GetTextLength() const;

Rückgabewert

Die Länge des Texts in diesem CRichEditView Objekt.

CRichEditView::GetTextLengthEx

Rufen Sie diese Memberfunktion auf, um die Länge des Texts in diesem CRichEditView Objekt zu berechnen.

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

Parameter

dwFlags
Wert, der die Methode angibt, die beim Bestimmen der Textlänge verwendet werden soll. Bei diesem Element kann es sich um einen oder mehrere der Werte handeln, die im Flags-Element von GETTEXTLENGTHEX aufgeführt sind, das im Windows SDK beschrieben wird.

uCodePage
Codepage für die Übersetzung (CP_ACP für ANSI Code Page, 1200 für Unicode).

Rückgabewert

Die Anzahl der Zeichen oder Bytes im Bearbeitungssteuerelement. Wenn in dwFlags inkompatible Flags festgelegt wurden, gibt diese Memberfunktion E_INVALIDARG zurück.

Hinweise

GetTextLengthEx bietet zusätzliche Möglichkeiten zum Bestimmen der Länge des Texts. Sie unterstützt die Rich Edit 2.0-Funktionalität. Weitere Informationen finden Sie unter "Rich Edit Controls " im Windows SDK.

CRichEditView::InsertFileAsObject

Rufen Sie diese Funktion auf, um die angegebene Datei (als CRichEditCntrItem-Objekt) in eine Rich-Edit-Ansicht einzufügen.

void InsertFileAsObject(LPCTSTR lpszFileName);

Parameter

lpszFileName
Zeichenfolge, die den Namen der einzufügenden Datei enthält.

CRichEditView::InsertItem

Rufen Sie diese Funktion auf, um ein CRichEditCntrItem-Objekt in eine rich-Edit-Ansicht einzufügen.

HRESULT InsertItem(CRichEditCntrItem* pItem);

Parameter

pItem
Zeiger auf das einzufügende Element.

Rückgabewert

Ein HRESULT-Wert, der den Erfolg der Einfügung angibt.

Hinweise

Weitere Informationen zu HRESULT finden Sie unter Struktur der COM-Fehlercodes im Windows SDK.

CRichEditView::IsRichEditFormat

Rufen Sie diese Funktion auf, um festzustellen, ob cf ein Zwischenablageformat ist, das Text, Rich-Text oder Rich-Text mit OLE-Elementen ist.

static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);

Parameter

Cf
Das Format der Zwischenablage von Interesse.

Rückgabewert

Nonzero, wenn cf ein Rich-Edit- oder Text-Zwischenablageformat ist.

CRichEditView::IsSelected

Rufen Sie diese Funktion auf, um zu ermitteln, ob das angegebene OLE-Element derzeit in dieser Ansicht ausgewählt ist.

virtual BOOL IsSelected(const CObject* pDocItem) const;

Parameter

pDocItem
Zeigen Sie auf ein Objekt in der Ansicht.

Rückgabewert

Nonzero, wenn das Objekt ausgewählt ist; andernfalls 0.

Hinweise

Überschreiben Sie diese Funktion, wenn ihre abgeleitete Ansichtsklasse eine andere Methode zum Behandeln der Auswahl von OLE-Elementen aufweist.

CRichEditView::m_nBulletIndent

Der Einzug für Aufzählungszeichen in einer Liste; standardmäßig 720 Einheiten, die 1/2 Zoll groß sind.

int m_nBulletIndent;

CRichEditView::m_nWordWrap

Gibt den Typ des Wortumbruchs für diese Rich-Edit-Ansicht an.

int m_nWordWrap;

Hinweise

Einer der folgenden Werte:

  • WrapNone Gibt keinen automatischen Wortumbruch an.

  • WrapToWindow Gibt den Textumbruch basierend auf der Breite des Fensters an.

  • WrapToTargetDevice Gibt den Textumbruch basierend auf den Merkmalen des Zielgeräts an.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::WrapChanged an.

CRichEditView::OnCharEffect

Rufen Sie diese Funktion auf, um die Zeichenformatierungseffekte für die aktuelle Auswahl umzuschalten.

void OnCharEffect(
    DWORD dwMask,
    DWORD dwEffect);

Parameter

dwMask
Die Zeichenformatierungseffekte, die in der aktuellen Auswahl geändert werden sollen.

dwEffect
Die gewünschte Liste der Zeichenformatierungseffekte, die umzuschalten sind.

Hinweise

Jeder Aufruf dieser Funktion schaltet die angegebenen Formatierungseffekte für die aktuelle Auswahl um.

Weitere Informationen zu den dwMask- und dwEffect-Parametern und ihren potenziellen Werten finden Sie in den entsprechenden Datenmembern von CHARFORMAT im Windows SDK.

Beispiel

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

CRichEditView::OnFindNext

Wird vom Framework beim Verarbeiten von Befehlen aus dem Dialogfeld "Suchen/Ersetzen" aufgerufen.

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

Parameter

lpszFind
Die zu suchende Zeichenfolge

bNext
Die Suchrichtung: WAHR zeigt nach unten an; FALSCH, nach oben.

bCase
Gibt an, ob bei der Suche die Groß-/Kleinschreibung beachtet werden soll.

bWord
Gibt an, ob die Suche nur ganzen Wörtern entspricht oder nicht.

Hinweise

Rufen Sie diese Funktion auf, um Text in der CRichEditView. Überschreiben Sie diese Funktion, um Die Suchmerkmale für die abgeleitete Ansichtsklasse zu ändern.

CRichEditView::OnInitialUpdate

Wird vom Framework aufgerufen, nachdem die Ansicht zuerst an das Dokument angefügt wurde, aber bevor die Ansicht anfänglich angezeigt wird.

virtual void OnInitialUpdate();

Hinweise

Die Standardimplementierung dieser Funktion ruft die CView::OnUpdate-Memberfunktion ohne Hinweisinformationen auf (d. h. die Standardwerte 0 für den lHint-Parameter und NULL für den pHint-Parameter ). Überschreiben Sie diese Funktion, um eine einmalige Initialisierung durchzuführen, die Informationen zum Dokument erfordert. Wenn Ihre Anwendung beispielsweise Dokumente mit fester Größe aufweist, können Sie diese Funktion verwenden, um die Bildlaufbeschränkungen einer Ansicht basierend auf der Dokumentgröße zu initialisieren. Wenn Ihre Anwendung Dokumente mit variabler Größe unterstützt, können Sie OnUpdate die Bildlaufgrenzwerte jedes Mal aktualisieren, wenn sich das Dokument ändert.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::m_nWordWrap an.

CRichEditView::OnPasteNativeObject

Verwenden Sie diese Funktion, um systemeigene Daten aus einem eingebetteten Element zu laden.

virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);

Parameter

lpStg
Zeiger auf ein IStorage-Objekt .

Rückgabewert

Nonzero bei erfolgreicher Ausführung; andernfalls 0;

Hinweise

In der Regel würden Sie dies tun, indem Sie eine COleStreamFile-Datei um die IStorage. Die COleStreamFile Datei kann an ein Archiv angefügt werden, und CObject::Serialize wird aufgerufen, um die Daten zu laden.

Dies ist eine erweiterte Außerkraftsetzung.

Weitere Informationen finden Sie unter IStorage im Windows SDK.

CRichEditView::OnParaAlign

Rufen Sie diese Funktion auf, um die Absatzausrichtung für die markierten Absätze zu ändern.

void OnParaAlign(WORD wAlign);

Parameter

wAlign
Gewünschte Absatzausrichtung. Einer der folgenden Werte:

  • PFA_LEFT Ausrichten der Absätze am linken Rand.

  • PFA_RIGHT Ausrichten der Absätze am rechten Rand.

  • PFA_CENTER Zentriert die Absätze zwischen den Seitenrändern.

Beispiel

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

CRichEditView::OnPrinterChanged

Überschreiben Sie diese Funktion, um die Merkmale für diese Rich-Edit-Ansicht zu ändern, wenn sich der Drucker ändert.

virtual void OnPrinterChanged(const CDC& dcPrinter);

Parameter

dcPrinter
Ein CDC-Objekt für den neuen Drucker.

Hinweise

Die Standardimplementierung legt das Papierformat auf die physische Höhe und Breite für das Ausgabegerät (Drucker) fest. Wenn kein Gerätekontext mit dcPrinter verknüpft ist, legt die Standardimplementierung das Papierformat auf 8,5 x 11 Zoll fest.

CRichEditView::OnReplaceAll

Wird vom Framework beim Verarbeiten von "Alle Befehle ersetzen" aus dem Dialogfeld "Ersetzen" aufgerufen.

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

Parameter

lpszFind
Der zu ersetzende Text.

lpszReplace
Der Ersetzungstext.

bCase
Gibt an, ob bei der Suche die Groß-/Kleinschreibung beachtet wird.

bWord
Gibt an, ob die Suche ganze Wörter markieren muss.

Hinweise

Rufen Sie diese Funktion auf, um alle Vorkommen eines bestimmten Texts durch eine andere Zeichenfolge zu ersetzen. Überschreiben Sie diese Funktion, um Die Suchmerkmale für diese Ansicht zu ändern.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::FindText an.

CRichEditView::OnReplaceSel

Wird vom Framework beim Verarbeiten von "Ersetzen"-Befehlen aus dem Dialogfeld "Ersetzen" aufgerufen.

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

Parameter

lpszFind
Der zu ersetzende Text.

bNext
Gibt die Richtung der Suche an: WAHR ist nach unten; FALSCH, nach oben.

bCase
Gibt an, ob bei der Suche die Groß-/Kleinschreibung beachtet wird.

bWord
Gibt an, ob die Suche ganze Wörter markieren muss.

lpszReplace
Der Ersetzungstext.

Hinweise

Rufen Sie diese Funktion auf, um ein Vorkommen eines bestimmten Texts durch eine andere Zeichenfolge zu ersetzen. Überschreiben Sie diese Funktion, um Die Suchmerkmale für diese Ansicht zu ändern.

CRichEditView::OnTextNotFound

Wird vom Framework aufgerufen, wenn eine Suche fehlschlägt.

virtual void OnTextNotFound(LPCTSTR lpszFind);

Parameter

lpszFind
Der Text, der nicht gefunden wurde.

Hinweise

Überschreiben Sie diese Funktion, um die Ausgabebenachrichtigung von einem MessageBeep zu ändern.

Weitere Informationen finden Sie unter MessageBeep im Windows SDK.

Beispiel

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

Das Framework ruft diese Funktion auf, um die Befehlsbenutzeroberfläche für Zeicheneffektbefehle zu aktualisieren.

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

Parameter

pCmdUI
Zeiger auf ein CCmdUI-Objekt .

dwMask
Gibt das Zeichenformat an.

dwEffect
Gibt den Zeichenformatierungseffekt an.

Hinweise

Das Maskenformat dwMask gibt an, welche Zeichenformatierungsattribute überprüft werden sollen. Die Flags dwEffect listen die Zeichenformatierungsattribute auf, die festgelegt/gelöscht werden sollen.

Weitere Informationen zu den dwMask- und dwEffect-Parametern und ihren potenziellen Werten finden Sie in den entsprechenden Datenmembern von CHARFORMAT im Windows SDK.

Beispiel

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

CRichEditView::OnUpdateParaAlign

Das Framework ruft diese Funktion auf, um die Befehlsbenutzeroberfläche für Absatzeffektbefehle zu aktualisieren.

void OnUpdateParaAlign(
    CCmdUI* pCmdUI,
    WORD wAlign);

Parameter

pCmdUI
Zeiger auf ein CCmdUI-Objekt .

wAlign
Die zu überprüfende Absatzausrichtung. Einer der folgenden Werte:

  • PFA_LEFT Ausrichten der Absätze am linken Rand.

  • PFA_RIGHT Ausrichten der Absätze am rechten Rand.

  • PFA_CENTER Zentriert die Absätze zwischen den Seitenrändern.

Beispiel

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

CRichEditView::P rintInsideRect

Rufen Sie diese Funktion auf, um einen Textbereich in einem Rich-Edit-Steuerelement so zu formatieren, dass es in rectLayout für das von pDC angegebene Gerät passt.

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

Parameter

pDC
Zeiger auf einen Gerätekontext für den Ausgabebereich.

rectLayout
RECT oder CRect , das den Ausgabebereich definiert.

nIndexStart
Nullbasierter Index des ersten zeichens, das formatiert werden soll.

nIndexStop
Nullbasierter Index des letzten zu formatierenden Zeichens.

bOutput
Gibt an, ob der Text gerendert werden soll. Wenn FALSCH, wird der Text nur gemessen.

Rückgabewert

Der Index des letzten Zeichens, das in den Ausgabebereich passt, plus eins.

Hinweise

Normalerweise folgt diesem Aufruf ein Aufruf von CRichEditCtrl::D isplayBand , das die Ausgabe generiert.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::GetPaperSize an.

CRichEditView::P rintPage

Rufen Sie diese Funktion auf, um einen Textbereich in einem Rich-Edit-Steuerelement für das von pDC angegebene Ausgabegerät zu formatieren.

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

Parameter

pDC
Zeiger auf einen Gerätekontext für die Seitenausgabe.

nIndexStart
Nullbasierter Index des ersten zeichens, das formatiert werden soll.

nIndexStop
Nullbasierter Index des letzten zu formatierenden Zeichens.

Rückgabewert

Der Index des letzten Zeichens, das auf die Seite plus eins passt.

Hinweise

Das Layout jeder Seite wird durch GetPageRect und GetPrintRect gesteuert. Normalerweise folgt diesem Aufruf ein Aufruf von CRichEditCtrl::D isplayBand , das die Ausgabe generiert.

Beachten Sie, dass Ränder relativ zur physischen Seite und nicht zur logischen Seite sind. Daher werden Ränder von Null häufig den Text abschneiden, da viele Drucker nicht druckbare Bereiche auf der Seite haben. Um zu vermeiden, dass Der Text abgeschnitten wird, sollten Sie SetMargins aufrufen und vor dem Drucken angemessene Seitenränder festlegen.

CRichEditView::QueryAcceptData

Vom Framework aufgerufen, um ein Objekt in die rich-Edit einzufügen.

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

Parameter

lpdataobj
Zeiger auf das zu abfragende IDataObject .

lpcfFormat
Zeiger auf das zulässige Datenformat.

dwReco
Nicht verwendet.

bReally
Gibt an, ob der Einfügevorgang fortgesetzt werden soll.

hMetaFile
Ein Handle für die Metadatei, die zum Zeichnen des Elementssymbols verwendet wird.

Rückgabewert

Ein HRESULT-Wert, der den Erfolg des Vorgangs meldet.

Hinweise

Überschreiben Sie diese Funktion, um unterschiedliche Organisation von COM-Elementen in Ihrer abgeleiteten Dokumentklasse zu verarbeiten. Dies ist eine erweiterte Außerkraftsetzung.

Weitere Informationen zu HRESULT und IDataObject, finden Sie unter Struktur von COM-Fehlercodes bzw . IDataObject im Windows SDK.

Beispiel

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

Rufen Sie diese Funktion auf, um die Zeichenformatierungsattribute für neuen Text in diesem CRichEditView Objekt festzulegen.

void SetCharFormat(CHARFORMAT2 cf);

Parameter

Cf
CHARFORMAT2 Struktur, die die neuen Standardzeichenformatierungsattribute enthält.

Hinweise

Nur die attribute, die vom dwMask Element von cf angegeben werden, werden von dieser Funktion geändert.

Weitere Informationen finden Sie unter EM_SETCHARFORMAT Meldung und CHARFORMAT2 Struktur im Windows SDK.

Beispiel

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

Rufen Sie diese Funktion auf, um die Druckränder für diese Rich-Edit-Ansicht festzulegen.

void SetMargins(const CRect& rectMargin);

Parameter

rectMargin
Die neuen Randwerte für den Druck, gemessen in MM_TWIPS.

Hinweise

Wenn m_nWordWrap ist WrapToTargetDevice, sollten Sie WrapChanged aufrufen, nachdem Sie diese Funktion verwendet haben, um die Druckeigenschaften anzupassen.

Beachten Sie, dass die von PrintPage verwendeten Seitenränder relativ zur physischen Seite und nicht zur logischen Seite sind. Daher werden Ränder von Null häufig den Text abschneiden, da viele Drucker nicht druckbare Bereiche auf der Seite haben. Um zu vermeiden, dass Der Text beschnitten wird, sollten Sie vor SetMargins dem Drucken angemessene Druckerränder festlegen.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::GetPaperSize an.

CRichEditView::SetPaperSize

Rufen Sie diese Funktion auf, um das Papierformat für das Drucken dieser Rich-Edit-Ansicht festzulegen.

void SetPaperSize(CSize sizePaper);

Parameter

sizePaper
Die neuen Papierformatwerte für den Druck, gemessen in MM_TWIPS.

Hinweise

Wenn m_nWordWrap ist WrapToTargetDevice, sollten Sie WrapChanged aufrufen, nachdem Sie diese Funktion verwendet haben, um die Druckeigenschaften anzupassen.

Beispiel

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

Rufen Sie diese Funktion auf, um die Absatzformatierungsattribute für die aktuelle Auswahl in diesem CRichEditView Objekt festzulegen.

BOOL SetParaFormat(PARAFORMAT2& pf);

Parameter

pf
PARAFORMAT2 Struktur mit den neuen Standardabsatzformatierungsattributen.

Rückgabewert

Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).

Hinweise

Nur die attribute, die vom dwMask Element von pf angegeben werden, werden von dieser Funktion geändert.

Weitere Informationen finden Sie unter EM_SETPARAFORMAT Meldung und PARAFORMAT2 Struktur im Windows SDK.

Beispiel

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

Rufen Sie diese Funktion auf, um den internen Suchstatus des CRichEditView-Steuerelements zurückzusetzen, nachdem ein Fehler beim Aufruf von FindText aufgetreten ist.

void TextNotFound(LPCTSTR lpszFind);

Parameter

lpszFind
Enthält die textzeichenfolge, die nicht gefunden wurde.

Hinweise

Es wird empfohlen, diese Methode unmittelbar nach fehlgeschlagenen Aufrufen von FindText aufgerufen zu werden, damit der interne Suchstatus des Steuerelements ordnungsgemäß zurückgesetzt wird.

Der parameter lpszFind sollte den gleichen Inhalt wie die für FindText bereitgestellte Zeichenfolge enthalten. Nach dem Zurücksetzen des internen Suchstatus ruft diese Methode die OnTextNotFound-Methode mit der bereitgestellten Suchzeichenfolge auf.

Beispiel

Sehen Sie sich das Beispiel für CRichEditView::FindText an.

CRichEditView::WrapChanged

Rufen Sie diese Funktion auf, wenn sich die Druckmerkmale geändert haben ( SetMargins oder SetPaperSize).

virtual void WrapChanged();

Hinweise

Überschreiben Sie diese Funktion, um zu ändern, wie die Rich-Edit-Ansicht auf Änderungen in m_nWordWrap oder auf die Druckmerkmale reagiert ( OnPrinterChanged).

Beispiel

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

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

Siehe auch

MFC-Beispiel FÜR WORDPAD
CCtrlView-Klasse
Hierarchiediagramm
CRichEditDoc-Klasse
CRichEditCntrItem-Klasse