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.
CRichEditView
behält den Text und die Formatierungseigenschaft von Text bei. CRichEditDoc
verwaltet 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
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.
vgl
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
vgl
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 Ersatztext.
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 Ersatztext.
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
Wird 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
vgl
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