CRichEditCtrl
-Klasse
Stellt die Funktionalität des Rich-Edit-Steuerelements bereit.
class CRichEditCtrl : public CWnd
Name | Beschreibung |
---|---|
CRichEditCtrl::CRichEditCtrl |
Erstellt ein CRichEditCtrl -Objekt. |
Name | Beschreibung |
---|---|
CRichEditCtrl::CanPaste |
Bestimmt, ob der Inhalt der Zwischenablage in dieses Rich-Edit-Steuerelement eingefügt werden kann. |
CRichEditCtrl::CanRedo |
Bestimmt, ob aktionen in der Redo-Warteschlange des Steuerelements vorhanden sind. |
CRichEditCtrl::CanUndo |
Bestimmt, ob ein Bearbeitungsvorgang rückgängig gemacht werden kann. |
CRichEditCtrl::CharFromPos |
Ruft Informationen zum Zeichen ab, das einem bestimmten Punkt im Clientbereich eines Bearbeitungssteuerelements am nächsten kommt. |
CRichEditCtrl::Clear |
Löscht die aktuelle Auswahl. |
CRichEditCtrl::Copy |
Kopiert die aktuelle Auswahl in die Zwischenablage. |
CRichEditCtrl::Create |
Erstellt das Windows Rich Edit-Steuerelement und ordnet es diesem CRichEditCtrl Objekt zu. |
CRichEditCtrl::CreateEx |
Erstellt das Windows Rich Edit-Steuerelement mit den angegebenen erweiterten Windows-Stilen und ordnet es diesem CRichEditCtrl Objekt zu. |
CRichEditCtrl::Cut |
Schneidet die aktuelle Auswahl in die Zwischenablage. |
CRichEditCtrl::DisplayBand |
Zeigt einen Teil des Inhalts dieses CRichEditCtrl Objekts an. |
CRichEditCtrl::EmptyUndoBuffer |
Setzt das Rückgängig-Kennzeichen dieses CRichEditCtrl Objekts zurück (löscht sie). |
CRichEditCtrl::FindText |
Sucht Text in diesem CRichEditCtrl Objekt. |
CRichEditCtrl::FindWordBreak |
Sucht den nächsten Wortwechsel vor oder nach der angegebenen Zeichenposition oder ruft Informationen zum Zeichen an dieser Position ab. |
CRichEditCtrl::FormatRange |
Formatiert einen Textbereich für das Zielausgabegerät. |
CRichEditCtrl::GetCharPos |
Bestimmt die Position eines bestimmten Zeichens innerhalb dieses CRichEditCtrl Objekts. |
CRichEditCtrl::GetDefaultCharFormat |
Ruft die aktuellen Standardzeichenformatierungsattribute in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetEventMask |
Ruft das Ereignisformat für dieses CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetFirstVisibleLine |
Bestimmt die oberste sichtbare Linie in diesem CRichEditCtrl Objekt. |
CRichEditCtrl::GetIRichEditOle |
Ruft einen Zeiger auf die IRichEditOle Schnittstelle für dieses Rich-Edit-Steuerelement ab. |
CRichEditCtrl::GetLimitText |
Ruft den Grenzwert für die Textmenge ab, die ein Benutzer in dieses CRichEditCtrl Objekt eingeben kann. |
CRichEditCtrl::GetLine |
Ruft eine Textzeile aus diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetLineCount |
Ruft die Anzahl der Zeilen in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetModify |
Bestimmt, ob sich der Inhalt dieses CRichEditCtrl Objekts seit dem letzten Speichern geändert hat. |
CRichEditCtrl::GetOptions |
Ruft die Rich-Edit-Steuerelementoptionen ab. |
CRichEditCtrl::GetParaFormat |
Ruft die Absatzformatierungsattribute in der aktuellen Auswahl in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetPunctuation |
Ruft die aktuellen Interpunktionszeichen für das Rich-Edit-Steuerelement ab. Diese Meldung ist nur in asiatischen Versionen des Betriebssystems verfügbar. |
CRichEditCtrl::GetRect |
Ruft das Formatierungsrechteck für dieses CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetRedoName |
Ruft den Typ der nächsten Aktion (falls vorhanden) in der Redo-Warteschlange des Steuerelements ab. |
CRichEditCtrl::GetSel |
Ruft die Anfangs- und Endpositionen der aktuellen Auswahl in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetSelectionCharFormat |
Ruft die Zeichenformatierungsattribute in der aktuellen Auswahl in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetSelectionType |
Ruft den Inhaltstyp in der aktuellen Auswahl in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetSelText |
Ruft den Text der aktuellen Markierung in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::GetTextLength |
Ruft die Länge des Texts in Zeichen in diesem CRichEditCtrl Objekt ab. Enthält nicht das endende Nullzeichen. |
CRichEditCtrl::GetTextLengthEx |
Ruft die Anzahl der Zeichen oder Bytes in der Rich-Edit-Ansicht ab. Akzeptiert eine Liste von Flags, um die Methode zur Bestimmung der Länge des Texts in einem Rich-Edit-Steuerelement anzugeben. |
CRichEditCtrl::GetTextMode |
Ruft den aktuellen Textmodus und die Rückgängig-Ebene eines Rich-Edit-Steuerelements ab. |
CRichEditCtrl::GetTextRange |
Ruft den angegebenen Textbereich ab. |
CRichEditCtrl::GetUndoName |
Ruft den Typ der nächsten Rückgängig-Aktion ab, falls vorhanden. |
CRichEditCtrl::GetWordWrapMode |
Ruft die aktuellen Wörterumbruch- und Wortumbruchoptionen für das Rich-Edit-Steuerelement ab. Diese Meldung ist nur in asiatischen Versionen des Betriebssystems verfügbar. |
CRichEditCtrl::HideSelection |
Blendet die aktuelle Auswahl ein oder aus. |
CRichEditCtrl::LimitText |
Beschränkt die Textmenge, die ein Benutzer in das CRichEditCtrl Objekt eingeben kann. |
CRichEditCtrl::LineFromChar |
Bestimmt, welche Zeile das angegebene Zeichen enthält. |
CRichEditCtrl::LineIndex |
Ruft den Zeichenindex einer bestimmten Zeile in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::LineLength |
Ruft die Länge einer bestimmten Zeile in diesem CRichEditCtrl Objekt ab. |
CRichEditCtrl::LineScroll |
Scrollt den Text in diesem CRichEditCtrl Objekt. |
CRichEditCtrl::Paste |
Fügt den Inhalt der Zwischenablage in dieses Rich-Edit-Steuerelement ein. |
CRichEditCtrl::PasteSpecial |
Fügt den Inhalt der Zwischenablage in dieses Rich-Edit-Steuerelement im angegebenen Datenformat ein. |
CRichEditCtrl::PosFromChar |
Ruft die Koordinaten des Clientbereichs eines angegebenen Zeichens in einem Bearbeitungssteuerelement ab. |
CRichEditCtrl::Redo |
Wiederholt die nächste Aktion in der Redo-Warteschlange des Steuerelements. |
CRichEditCtrl::ReplaceSel |
Ersetzt die aktuelle Markierung in diesem CRichEditCtrl Objekt durch angegebenen Text. |
CRichEditCtrl::RequestResize |
Erzwingt, dass dieses CRichEditCtrl Objekt Anforderungsänderungsbenachrichtigungen sendet. |
CRichEditCtrl::SetAutoURLDetect |
Gibt an, ob die Automatische URL-Erkennung in einem Rich-Edit-Steuerelement aktiv ist. |
CRichEditCtrl::SetBackgroundColor |
Legt die Hintergrundfarbe in diesem CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetDefaultCharFormat |
Legt die aktuellen Standardzeichenformatierungsattribute in diesem CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetEventMask |
Legt das Ereignisformat für dieses CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetModify |
Legt die Änderungskennzeichnung für dieses CRichEditCtrl Objekt fest oder löscht sie. |
CRichEditCtrl::SetOLECallback |
Legt das IRichEditOleCallback COM-Objekt für dieses Rich-Edit-Steuerelement fest. |
CRichEditCtrl::SetOptions |
Legt die Optionen für dieses CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetParaFormat |
Legt die Absatzformatierungsattribute in der aktuellen Auswahl in diesem CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetPunctuation |
Legt die Interpunktionszeichen für ein Rich-Edit-Steuerelement fest. Diese Meldung ist nur in asiatischen Versionen des Betriebssystems verfügbar. |
CRichEditCtrl::SetReadOnly |
Legt die schreibgeschützte Option für dieses CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetRect |
Legt das Formatierungsrechteck für dieses CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetSel |
Legt die Auswahl in diesem CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetSelectionCharFormat |
Legt die Zeichenformatierungsattribute in der aktuellen Auswahl in diesem CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetTargetDevice |
Legt das Zielausgabegerät für dieses CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetTextMode |
Legt den Textmodus oder die Rückgängig-Ebene eines Rich-Edit-Steuerelements fest. Die Nachricht schlägt fehl, wenn das Steuerelement Text enthält. |
CRichEditCtrl::SetUndoLimit |
Legt die maximale Anzahl von Aktionen fest, die in der Rückgängig-Warteschlange gespeichert werden können. |
CRichEditCtrl::SetWordCharFormat |
Legt die Zeichenformatierungsattribute im aktuellen Wort in diesem CRichEditCtrl Objekt fest. |
CRichEditCtrl::SetWordWrapMode |
Legt die Wörterumbruch- und Wortumbruchoptionen für das Rich-Edit-Steuerelement fest. Diese Meldung ist nur in asiatischen Versionen des Betriebssystems verfügbar. |
CRichEditCtrl::StopGroupTyping |
Verhindert, dass das Steuerelement zusätzliche Eingabeaktionen in die aktuelle Rückgängig-Aktion sammelt. Das Steuerelement speichert ggf. die nächste Eingabeaktion in einer neuen Aktion in der Rückgängig-Warteschlange. |
CRichEditCtrl::StreamIn |
Fügt Text aus einem Eingabedatenstrom in dieses CRichEditCtrl Objekt ein. |
CRichEditCtrl::StreamOut |
Speichert Text aus diesem CRichEditCtrl Objekt in einem Ausgabedatenstrom. |
CRichEditCtrl::Undo |
Kehrt den letzten Bearbeitungsvorgang um. |
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.
Dieses allgemeine Windows-Steuerelement (und daher die Klasse) ist nur für Programme verfügbar, die CRichEditCtrl
unter Windows 95/98 und Windows NT,3.51 und höher ausgeführt werden. Die CRichEditCtrl
Klasse unterstützt die Versionen 2.0 und 3.0 des Windows SDK-Rich-Edit-Steuerelements.
Achtung
Wenn Sie ein Rich-Edit-Steuerelement in einem Dialogfeld verwenden (unabhängig davon, ob ihre Anwendung SDI, MDI oder dialogbasiert ist), müssen Sie einmal aufrufen AfxInitRichEdit
, bevor das Dialogfeld angezeigt wird. Ein typischer Ort zum Aufrufen dieser Funktion befindet sich in der Memberfunktion Ihres Programms InitInstance
. Sie müssen es nicht jedes Mal aufrufen, wenn Sie das Dialogfeld anzeigen, nur das erste Mal. Sie müssen nicht anrufen AfxInitRichEdit
, wenn Sie mit CRichEditView
ihnen arbeiten.
Weitere Informationen zur Verwendung CRichEditCtrl
finden Sie unter:
Ein Beispiel für die Verwendung eines Rich-Edit-Steuerelements in einer MFC-Anwendung finden Sie in der WORDPAD-Beispielanwendung .
CRichEditCtrl
Header: afxcmn.h
Bestimmt, ob das Rich-Edit-Steuerelement das angegebene Zwischenablageformat einfügen kann.
BOOL CanPaste(UINT nFormat = 0) const;
nFormat
Das zu abfragende Datenformat der Zwischenablage. Dieser Parameter kann eines der vordefinierten Zwischenablageformate oder der von RegisterClipboardFormat
ihnen zurückgegebene Wert sein.
Nonzero, wenn das Format der Zwischenablage eingefügt werden kann; andernfalls 0.
Wenn nFormat
0 ist, CanPaste
versuchen Sie es mit einem beliebigen Format, das sich derzeit in der Zwischenablage befindet.
Weitere Informationen finden Sie unter EM_CANPASTE
Meldung und RegisterClipboardFormat
Funktion im Windows SDK.
// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
m_myRichEditCtrl.Paste();
}
Bestimmt, ob die Redo-Warteschlange Aktionen enthält.
BOOL CanRedo() const;
Nonzero, wenn die Redo-Warteschlange Aktionen enthält, andernfalls 0.
Rufen Sie auf CRichEditCtrl::GetRedoName
, um den Namen des Vorgangs in der Redo-Warteschlange zu ermitteln. Rufen Sie zum Wiederholen des letzten Rückgängig-Vorgangs auf Redo
.
Weitere Informationen finden Sie im EM_CANREDO
Windows SDK.
Bestimmt, ob der letzte Bearbeitungsvorgang rückgängig gemacht werden kann.
BOOL CanUndo() const;
Nonzero, wenn der letzte Bearbeitungsvorgang durch einen Aufruf der Undo
Memberfunktion rückgängig gemacht werden kann; 0, wenn er nicht rückgängig gemacht werden kann.
Weitere Informationen finden Sie im EM_CANUNDO
Windows SDK.
// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
m_myRichEditCtrl.Undo();
Ruft Informationen zum Zeichen an dem durch den Parameter pt
angegebenen Punkt ab.
int CharFromPos(CPoint pt) const;
pt
Ein CPoint
Objekt, das die Koordinaten des angegebenen Punkts enthält.
Der nullbasierte Zeichenindex des Zeichens, das dem angegebenen Punkt am nächsten ist. Wenn der angegebene Punkt über das letzte Zeichen im Steuerelement hinausgeht, gibt der Rückgabewert das letzte Zeichen im Steuerelement an.
Diese Memberfunktion funktioniert mit einem Rich-Edit-Steuerelement. Rufen Sie auf, um CEdit::CharFromPos
die Informationen für ein Bearbeitungssteuerelement abzurufen.
Weitere Informationen finden Sie im EM_CHARFROMPOS
Windows SDK.
Löscht die aktuelle Auswahl (falls vorhanden) im Rich-Edit-Steuerelement.
void Clear();
Der von Clear
ihnen ausgeführte Löschvorgang kann durch Aufrufen der Undo
Memberfunktion rückgängig gemacht werden.
Rufen Sie die Memberfunktion auf, um die aktuelle Auswahl zu löschen und den gelöschten Inhalt in die Cut
Zwischenablage zu setzen.
Weitere Informationen finden Sie im WM_CLEAR
Windows SDK.
// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();
Kopiert die aktuelle Auswahl (falls vorhanden) im Rich-Edit-Steuerelement in die Zwischenablage.
void Copy();
Weitere Informationen finden Sie im WM_COPY
Windows SDK.
// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();
Erstellt das Windows Rich Edit-Steuerelement und ordnet es diesem CRichEditCtrl
Objekt zu.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
dwStyle
Gibt die Formatvorlage des Bearbeitungssteuerelements an. Wenden Sie eine Kombination der im Abschnitt "Hinweise" aufgeführten Fensterformatvorlagen an, und bearbeiten Sie Steuerelementstile, die im Windows SDK beschrieben werden.
rect
Gibt die Größe und Position des Bearbeitungssteuerelements an. Kann ein Objekt oder RECT
eine CRect
Struktur sein.
pParentWnd
Gibt das übergeordnete Fenster des Bearbeitungssteuerelements an (häufig ein CDialog
). Es darf nicht sein NULL
.
nID
Gibt die ID des Bearbeitungssteuerelements an.
Nonzero, wenn die Initialisierung erfolgreich ist; andernfalls 0.
Sie erstellen ein CRichEditCtrl
Objekt in zwei Schritten. Rufen Sie zuerst den CRichEditCtrl
Konstruktor auf, und rufen Sie ihn dann auf Create
, wodurch das Windows-Bearbeitungssteuerelement erstellt und an das CRichEditCtrl
Objekt angefügt wird.
Wenn Sie ein Rich-Edit-Steuerelement mit dieser Funktion erstellen, müssen Sie zuerst die erforderliche allgemeine Steuerelementbibliothek laden. Rufen Sie zum Laden der Bibliothek die globale Funktion AfxInitRichEdit
auf, die wiederum die allgemeine Steuerelementbibliothek initialisiert. Sie müssen nur einmal in Ihrem Prozess aufrufen AfxInitRichEdit
.
Bei Create
Ausführung sendet Windows die WM_NCCREATE
, WM_NCCALCSIZE
, WM_CREATE
, und WM_GETMINMAXINFO
Nachrichten an das Bearbeitungssteuerelement.
Diese Nachrichten werden standardmäßig von den OnNcCreate
Funktionen , OnNcCalcSize
, , OnCreate
und OnGetMinMaxInfo
Member in der CWnd
Basisklasse behandelt. Um die Standardmäßige Nachrichtenbehandlung zu erweitern, leiten Sie eine Klasse ab CRichEditCtrl
, fügen Sie der neuen Klasse eine Nachrichtenzuordnung hinzu, und überschreiben Sie die obigen Nachrichtenhandlermemmfunktionen. Überschreiben OnCreate
Sie z. B. die erforderliche Initialisierung für die neue Klasse.
Wenden Sie die folgenden Fensterformatvorlagen auf ein Bearbeitungssteuerelement an.
WS_CHILD
Immer.WS_VISIBLE
Gewöhnlich.WS_DISABLED
Selten.WS_GROUP
So gruppieren Sie Steuerelemente.WS_TABSTOP
So fügen Sie das Bearbeitungssteuerelement in die Aktivierreihenfolge ein.
Weitere Informationen zu Fensterformatvorlagen finden Sie im CreateWindow
Windows SDK.
m_myRichEditCtrl.Create(
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);
Erstellt ein Steuerelement (ein untergeordnetes Fenster) und ordnet es dem Objekt zu CRichEditCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
dwExStyle
Gibt die erweiterte Formatvorlage des zu erstellenden Steuerelements an. Eine Liste der erweiterten Windows-Stile finden Sie im dwExStyle
Parameter für CreateWindowEx
das Windows SDK.
dwStyle
Gibt die Formatvorlage des Bearbeitungssteuerelements an. Wenden Sie eine Kombination der fensterformatvorlagen an, die im Abschnitt "Hinweise " der Create
im Windows SDK beschriebenen Steuerelementformatvorlagen und -bearbeitungsarten aufgeführt sind.
rect
Ein Verweis auf eine RECT
Struktur, die die Größe und Position des zu erstellenden Fensters in Clientkoordinaten pParentWnd
beschreibt.
pParentWnd
Ein Zeiger auf das Fenster, das das übergeordnete Steuerelement ist.
nID
Die Untergeordnete Fenster-ID des Steuerelements.
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Verwenden Sie CreateEx
anstelle von Create
erweiterten Windows-Formatvorlagen, die durch die Erweiterte Formatvorlage WS_EX_
von Windows angegeben werden.
Erstellt ein CRichEditCtrl
-Objekt.
CRichEditCtrl();
Wird Create
verwendet, um das Windows Rich Edit-Steuerelement zu erstellen.
// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;
// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;
Löschen (Ausschnitte) der aktuellen Auswahl (falls vorhanden) im Rich-Edit-Steuerelement und kopiert den gelöschten Text in die Zwischenablage.
void Cut();
Der von Cut
ihnen ausgeführte Löschvorgang kann durch Aufrufen der Undo
Memberfunktion rückgängig gemacht werden.
Um die aktuelle Auswahl zu löschen, ohne den gelöschten Text in die Zwischenablage zu setzen, rufen Sie die Clear
Memberfunktion auf.
Weitere Informationen finden Sie im WM_CUT
Windows SDK.
// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();
Zeigt einen Teil des Inhalts des Rich-Edit-Steuerelements (Text und OLE-Elemente) wie zuvor formatiert an FormatRange
.
BOOL DisplayBand(LPRECT pDisplayRect);
pDisplayRect
Zeigen Sie auf ein RECT
Oder CRect
Objekt, das den Bereich des Geräts angibt, um den Text anzuzeigen.
Nonzero, wenn die Anzeige des formatierten Texts erfolgreich ist, andernfalls 0.
Der Text und die OLE-Elemente werden auf den bereich zugeschnitten, der durch den Zeiger angegeben wird pDisplayRect
.
Weitere Informationen finden Sie im EM_DISPLAYBAND
Windows SDK.
Ein Beispiel hierfür finden Sie unter CRichEditCtrl::FormatRange
.
Setzt das Rückgängig-Kennzeichen dieses Rich-Edit-Steuerelements zurück (löschen).
void EmptyUndoBuffer();
Das Steuerelement kann nun den letzten Bearbeitungsvorgang nicht rückgängig machen. Das Rückgängig-Flag wird festgelegt, wenn ein Vorgang innerhalb des Rich-Edit-Steuerelements rückgängig gemacht werden kann.
Das Rückgängig-Flag wird automatisch gelöscht, wenn Sie die CWnd
Memberfunktion SetWindowText
aufrufen.
Weitere Informationen finden Sie im EM_EMPTYUNDOBUFFER
Windows SDK.
// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
m_myRichEditCtrl.EmptyUndoBuffer();
ASSERT(!m_myRichEditCtrl.CanUndo());
}
Sucht Text innerhalb des Rich-Edit-Steuerelements.
long FindText(
DWORD dwFlags,
FINDTEXTEX* pFindText) const;
dwFlags
Eine Liste der möglichen Werte finden Sie wParam
im EM_FINDTEXTEXT
Windows SDK.
pFindText
Zeigen Sie auf die FINDTEXTEX
Struktur, die die Parameter für die Suche angibt, und geben Sie den Bereich zurück, in dem die Übereinstimmung gefunden wurde.
Nullbasierte Zeichenposition der nächsten Übereinstimmung; - 1, wenn keine weiteren Übereinstimmungen vorhanden sind.
Sie können entweder nach oben oder unten suchen, indem Sie die richtigen Bereichsparameter in der Struktur innerhalb der CHARRANGE
FINDTEXTEX
Struktur festlegen.
Weitere Informationen finden Sie unter EM_FINDTEXTEX
Meldung und FINDTEXTEX
Struktur im Windows SDK.
// Set the selection to be the first occurrence of the
// string lpszmyString, if it is found.
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = 50;
ft.lpstrText = _T("wallaby");
long n = m_myRichEditCtrl.FindText(FR_MATCHCASE | FR_WHOLEWORD, &ft);
if (n != -1)
m_myRichEditCtrl.SetSel(ft.chrgText);
Sucht den nächsten Wortwechsel vor oder nach der durch nStart
.
DWORD FindWordBreak(
UINT nCode,
DWORD nStart) const;
nCode
Gibt die auszuführende Aktion an. Eine Liste der möglichen Werte finden Sie in der Beschreibung des Parameters code
im EM_FINDWORDBREAK
Windows SDK.
nStart
Die nullbasierte Zeichenposition, von der aus begonnen werden soll.
Basierend auf dem Parameter nCode
. Weitere Informationen finden Sie im EM_FINDWORDBREAK
Windows SDK.
Mit dieser Memberfunktion können Sie Informationen zu einem Zeichen an einer bestimmten Position abrufen.
Formatiert einen Textbereich in einem Rich-Edit-Steuerelement für ein bestimmtes Gerät.
long FormatRange(
FORMATRANGE* pfr,
BOOL bDisplay = TRUE);
pfr
Zeigen Sie auf die FORMATRANGE
Struktur, die Informationen zum Ausgabegerät enthält. NULL
gibt an, dass zwischengespeicherte Informationen innerhalb des Rich-Edit-Steuerelements freigegeben werden können.
bDisplay
Gibt an, ob der Text gerendert werden soll. Wenn FALSE
, wird der Text nur gemessen.
Der Index des letzten Zeichens, das in die Region passt plus eins.
In der Regel folgt auf diesen Anruf ein Anruf.DisplayBand
Weitere Informationen finden Sie unter EM_FORMATRANGE
Meldung und FORMATRANGE
Struktur im Windows SDK.
// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());
FORMATRANGE fr;
// Get the page width and height from the printer.
long lPageWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
long lPageHeight = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALHEIGHT),
1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSY));
CRect rcPage(0, 0, lPageWidth, lPageHeight);
// Format the text and render it to the printer.
fr.hdc = pMyPrinterDC->m_hDC;
fr.hdcTarget = pMyPrinterDC->m_hDC;
fr.rc = rcPage;
fr.rcPage = rcPage;
fr.chrg.cpMin = 0;
fr.chrg.cpMax = -1;
m_myRichEditCtrl.FormatRange(&fr, TRUE);
// Update the display with the new formatting.
RECT rcClient;
m_myRichEditCtrl.GetClientRect(&rcClient);
m_myRichEditCtrl.DisplayBand(&rcClient);
pMyPrinterDC->DeleteDC();
}
Ruft die Position (obere linke Ecke) eines bestimmten Zeichens innerhalb dieses CRichEditCtrl
Objekts ab.
CPoint GetCharPos(long lChar) const;
lChar
Nullbasierter Index des Zeichens.
Die Position der oberen linken Ecke des durch lChar
.
Das Zeichen wird angegeben, indem es seinen nullbasierten Indexwert angibt. Wenn lChar
der Index des letzten Zeichens in diesem CRichEditCtrl
Objekt größer ist, gibt der Rückgabewert die Koordinaten der Zeichenposition direkt über das letzte Zeichen in diesem CRichEditCtrl
Objekt an.
Weitere Informationen finden Sie im EM_POSFROMCHAR
Windows SDK.
Ruft die Standardzeichenformatierungsattribute dieses CRichEditCtrl
Objekts ab.
DWORD GetDefaultCharFormat(CHARFORMAT& cf) const; DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;
cf
In der ersten Version zeigt ein Zeiger auf eine CHARFORMAT
Struktur, die die Standardzeichenformatierungsattribute enthält.
In der zweiten Version zeigt ein Zeiger auf eine CHARFORMAT2
Struktur, bei der CHARFORMAT
es sich um eine Rich Edit 2.0-Erweiterung der Struktur handelt, die die Standardzeichenformatierungsattribute enthält.
Das dwMask
Datenelement von cf
. Es hat die Standardzeichenformatierungsattribute angegeben.
Weitere Informationen finden Sie in der Meldung und den EM_GETCHARFORMAT
CHARFORMAT
CHARFORMAT2
Strukturen im Windows SDK.
Ein Beispiel hierfür finden Sie unter SetDefaultCharFormat
.
Ruft das Ereignisformat für dieses CRichEditCtrl
Objekt ab.
long GetEventMask() const;
Das Ereignisformat für dieses CRichEditCtrl
Objekt.
Das Ereignisformat gibt an, welche Benachrichtigungen das CRichEditCtrl
Objekt an das übergeordnete Fenster sendet.
Weitere Informationen finden Sie im EM_GETEVENTMASK
Windows SDK.
Ein Beispiel hierfür finden Sie unter CRichEditCtrl::SetEventMask
.
Bestimmt die oberste sichtbare Linie in diesem CRichEditCtrl
Objekt.
int GetFirstVisibleLine() const;
Nullbasierter Index der obersten sichtbaren Zeile in diesem CRichEditCtrl
Objekt.
Weitere Informationen finden Sie im EM_GETFIRSTVISIBLELINE
Windows SDK.
int nFirstVisible = m_myRichEditCtrl.GetFirstVisibleLine();
// Scroll the rich edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
m_myRichEditCtrl.LineScroll(-nFirstVisible, 0);
}
Greift auf die IRichEditOle
Schnittstelle für dieses CRichEditCtrl
Objekt zu.
IRichEditOle* GetIRichEditOle() const;
Zeiger auf die IRichEditOle
Schnittstelle, die für den Zugriff auf die OLE-Funktionalität dieses CRichEditCtrl
Objekts verwendet werden kann; NULL
wenn auf die Schnittstelle nicht zugegriffen werden kann.
Verwenden Sie diese Schnittstelle, um auf die OLE-Funktionalität dieses CRichEditCtrl
Objekts zuzugreifen.
Weitere Informationen finden Sie unter EM_GETOLEINTERFACE
Meldung und IRichEditOle
Schnittstelle im Windows SDK.
Ruft den Textgrenzwert für dieses CRichEditCtrl
Objekt ab.
long GetLimitText() const;
Der aktuelle Textgrenzwert in Bytes für dieses CRichEditCtrl
Objekt.
Der Textgrenzwert ist die maximale Textmenge in Byte, die das Rich-Edit-Steuerelement akzeptieren kann.
Weitere Informationen finden Sie im EM_GETLIMITTEXT
Windows SDK.
// The new text of the rich edit control.
LPCTSTR lpszmyString = _T("Here's some text in our rich edit control!");
long nLength = (long)_tcslen(lpszmyString);
// Want the text limit to be at least the size of the new string.
if (m_myRichEditCtrl.GetLimitText() < nLength)
m_myRichEditCtrl.LimitText(nLength);
m_myRichEditCtrl.SetWindowText(lpszmyString);
Ruft eine Textzeile aus diesem CRichEditCtrl
Objekt ab.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
nIndex
Nullbasierter Index der abzurufenden Zeile.
lpszBuffer
Verweist auf den Puffer, um den Text zu empfangen. Das erste Wort des Puffers muss die maximale Anzahl von Bytes angeben, die in den Puffer kopiert werden können.
nMaxLength
Maximale Anzahl von Zeichen, in die kopiert lpszBuffer
werden kann. Mit der zweiten Form wird GetLine
dieser Wert in das erste Wort des durch lpszBuffer
den Puffer angegebenen Puffers eingefügt.
Die Anzahl der zeichen, in lpszBuffer
die kopiert wurde.
Die kopierte Zeile enthält kein endendes NULL-Zeichen.
Hinweis
Da das erste Wort des Puffers die Anzahl der zu kopierenden Zeichen speichert, stellen Sie sicher, dass der Puffer mindestens 4 Byte lang ist.
Weitere Informationen finden Sie im EM_GETLINE
Windows SDK.
Ein Beispiel hierfür finden Sie unter GetLineCount
.
Ruft die Anzahl der Zeilen im CRichEditCtrl
Objekt ab.
int GetLineCount() const;
Die Anzahl der Zeilen in diesem CRichEditCtrl
Objekt.
Weitere Informationen finden Sie im EM_GETLINECOUNT
Windows SDK.
int nLineLength, nLineIndex, nLineCount = m_myRichEditCtrl.GetLineCount();
CString strText, strLine;
// Dump every line of text of the rich edit control.
for (int i = 0; i < nLineCount; i++)
{
nLineIndex = m_myRichEditCtrl.LineIndex(i);
nLineLength = m_myRichEditCtrl.LineLength(nLineIndex);
m_myRichEditCtrl.GetLine(i, strText.GetBufferSetLength(nLineLength + 1),
nLineLength);
strText.SetAt(nLineLength, _T('\0')); // null terminate
strText.ReleaseBuffer(nLineLength + 1);
TRACE(_T("line %d: '%s'\r\n"), i, strText);
}
Bestimmt, ob der Inhalt dieses CRichEditCtrl
Objekts geändert wurde.
BOOL GetModify() const;
Nonzero, wenn der Text in diesem CRichEditCtrl
Objekt geändert wurde; andernfalls 0.
Windows verwaltet ein internes Flag, das angibt, ob der Inhalt des Rich-Edit-Steuerelements geändert wurde. Dieses Kennzeichen wird gelöscht, wenn das Bearbeitungssteuerelement zum ersten Mal erstellt wird und auch durch Aufrufen der SetModify
Memberfunktion gelöscht werden kann.
Weitere Informationen finden Sie im EM_GETMODIFY
Windows SDK.
// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
m_myRichEditCtrl.SetModify(FALSE);
Ruft die derzeit für das Rich-Edit-Steuerelement festgelegten Optionen ab.
UINT GetOptions() const;
Eine Kombination der aktuellen Optionskennzeichnungswerte. Eine Liste dieser Werte finden Sie fOptions
im Parameter in der EM_SETOPTIONS
Nachricht, wie im Windows SDK beschrieben.
Ruft die Absatzformatierungsattribute der aktuellen Auswahl ab.
DWORD GetParaFormat(PARAFORMAT& pf) const; DWORD GetParaFormat(PARAFORMAT2& pf) const;
pf
In der ersten Version zeigt ein Zeiger auf eine PARAFORMAT
Struktur, um die Absatzformatierungsattribute der aktuellen Auswahl zu enthalten.
In der zweiten Version zeigt ein Zeiger auf eine PARAFORMAT2
Struktur, bei der PARAFORMAT
es sich um eine Rich Edit 2.0-Erweiterung der Struktur handelt, die die Standardzeichenformatierungsattribute enthält.
Das dwMask
Datenelement von pf
. Es gibt die Absatzformatierungsattribute an, die während der aktuellen Auswahl konsistent sind.
Wenn mehrere Absätze ausgewählt sind, pf
werden die Attribute des ersten markierten Absatzes empfangen. Der Rückgabewert gibt an, welche Attribute während der gesamten Auswahl konsistent sind.
Weitere Informationen finden Sie in der Meldung und den EM_GETPARAFORMAT
PARAFORMAT
PARAFORMAT2
Strukturen im Windows SDK.
Ein Beispiel hierfür finden Sie unter CRichEditCtrl::SetParaFormat
.
Ruft die aktuellen Interpunktionszeichen in einem Rich-Edit-Steuerelement ab.
BOOL GetPunctuation(
UINT fType,
PUNCTUATION* lpPunc) const;
fType
Das Interpunktionstyp-Flag, wie im fType
Parameter des EM_GETPUNCTUATION
Windows SDK beschrieben.
lpPunc
Ein Zeiger auf eine PUNCTUATION
Struktur, wie im Windows SDK beschrieben.
Nonzero, wenn der Vorgang erfolgreich war, andernfalls 0.
Diese Memberfunktion ist nur mit den asiatischen Sprachversionen des Betriebssystems verfügbar.
Ruft das Formatierungsrechteck für dieses CRichEditCtrl
Objekt ab.
void GetRect(LPRECT lpRect) const;
lpRect
CRect
oder zeigen Sie auf ein RECT
, um das Formatierungsrechteck dieses CRichEditCtrl
Objekts zu empfangen.
Das Formatierungsrechteck ist das umgebende Rechteck für den Text. Dieser Wert ist unabhängig von der Größe des CRichEditCtrl
Objekts.
Weitere Informationen finden Sie im EM_GETRECT
Windows SDK.
Ein Beispiel hierfür finden Sie unter LimitText
.
Ruft den Typ der nächsten verfügbaren Aktion in der Redo-Warteschlange ab, falls vorhanden.
UNDONAMEID GetRedoName() const;
Bei erfolgreicher Ausführung gibt den UNDONAMEID
Enumerationstyp zurück, GetRedoName
der den Typ der nächsten Aktion in der Redo-Warteschlange des Steuerelements angibt. Wenn die Redo-Warteschlange leer ist oder die Redo-Aktion in der Warteschlange einen unbekannten Typ aufweist, GetRedoName
wird 0 zurückgegeben.
Die Arten von Aktionen, die rückgängig gemacht werden können, umfassen Eingabe-, Lösch-, Drag-Drop-, Ausschneiden- und Einfügevorgänge. Diese Informationen können für Anwendungen nützlich sein, die eine erweiterte Benutzeroberfläche für Rückgängig- und Wiederholen-Vorgänge bereitstellen, z. B. ein Dropdown-Listenfeld mit wiederholbaren Aktionen.
Ruft die Grenzen der aktuellen Auswahl in diesem CRichEditCtrl
Objekt ab.
void GetSel(CHARRANGE& cr) const;
void GetSel(
long& nStartChar,
long& nEndChar) const;
cr
Verweisen auf eine CHARRANGE
Struktur, um die Grenzen der aktuellen Auswahl zu empfangen.
nStartChar
Nullbasierter Index des ersten Zeichens in der aktuellen Auswahl.
nEndChar
Nullbasierter Index des letzten Zeichens in der aktuellen Auswahl.
Die beiden Formen dieser Funktion bieten alternative Möglichkeiten zum Abrufen der Grenzen für die Auswahl. Kurze Beschreibungen dieser Formulare folgen:
GetSel(
cr
) Dieses Formular verwendet dieCHARRANGE
Struktur mit seinencpMin
Elementen,cpMax
um die Grenzen zurückzugeben.GetSel(
nStartChar
,nEndChar
) Dieses Formular gibt die Grenzen in den ParameternnStartChar
undnEndChar
.
Die Auswahl enthält alles, wenn der Anfang (cpMin
oder nStartChar
) 0 ist und das Ende (cpMax
oder nEndChar
) - 1 ist.
Weitere Informationen finden Sie unter EM_EXGETSEL
Meldung und CHARRANGE
Struktur im Windows SDK.
// Set the selection to be all characters after the current selection.
long nStartChar, nEndChar;
m_myRichEditCtrl.GetSel(nStartChar, nEndChar);
m_myRichEditCtrl.SetSel(nEndChar, -1);
Ruft die Zeichenformatierungsattribute der aktuellen Auswahl ab.
DWORD GetSelectionCharFormat(CHARFORMAT& cf) const; DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;
cf
In der ersten Version zeigt ein Zeiger auf eine CHARFORMAT
Struktur, um die Zeichenformatierungsattribute der aktuellen Auswahl zu erhalten.
In der zweiten Version zeigt ein Zeiger auf eine CHARFORMAT2
Struktur, bei der CHARFORMAT
es sich um eine Rich Edit 2.0-Erweiterung der Struktur handelt, um die Zeichenformatierungsattribute der aktuellen Auswahl zu erhalten.
Das dwMask
Datenelement von cf
. Es gibt die Zeichenformatierungsattribute an, die während der aktuellen Auswahl konsistent sind.
Der cf
Parameter empfängt die Attribute des ersten Zeichens in der aktuellen Auswahl. Der Rückgabewert gibt an, welche Attribute während der gesamten Auswahl konsistent sind.
Weitere Informationen finden Sie in der Meldung und den EM_GETCHARFORMAT
CHARFORMAT
CHARFORMAT2
Strukturen im Windows SDK.
Ein Beispiel hierfür finden Sie unter SetSelectionCharFormat
.
Bestimmt den Auswahltyp in diesem CRichEditCtrl
Objekt.
WORD GetSelectionType() const;
Flags, die den Inhalt der aktuellen Auswahl angeben. Eine Kombination der folgenden Flags:
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 von Text enthält.SEL_MULTIOBJECT
Gibt an, dass die aktuelle Auswahl mehrere OLE-Objekte enthält.
Weitere Informationen finden Sie im EM_SELECTIONTYPE
Windows SDK.
// Dump the selection text only if it contains at least one text character.
if (m_myRichEditCtrl.GetSelectionType() & (SEL_TEXT | SEL_MULTICHAR))
{
CString strText = m_myRichEditCtrl.GetSelText();
TRACE(_T("selection text is '%s'.\r\n"), strText);
}
Ruft den Text aus der aktuellen Auswahl in diesem CRichEditCtrl
Objekt ab.
long GetSelText(LPSTR lpBuf) const; CString GetSelText() const;
lpBuf
Zeigen Sie auf den Puffer, um den Text in der aktuellen Auswahl zu empfangen.
Hängt vom Formular ab:
GetSelText(lpBuf)
Die Anzahl der zeichen, inlpBuf
die kopiert wurde, nicht einschließlich der NULL-Beendigung.GetSelText( )
Die Zeichenfolge, die die aktuelle Auswahl enthält.
Wenn Sie das erste Formular verwenden, müssen Sie sicherstellen, GetSelText(lpBuf)
dass der Puffer für den empfangenen Text groß genug ist. Rufen Sie auf GetSel
, um die Anzahl der Zeichen in der aktuellen Auswahl zu ermitteln.
Weitere Informationen finden Sie im EM_GETSELTEXT
Windows SDK.
Ein Beispiel hierfür finden Sie unter CRichEditCtrl::GetSelectionType
.
Ruft die Länge des Texts in Zeichen in diesem CRichEditCtrl
Objekt ab, nicht einschließlich des endenden NULL-Zeichens.
long GetTextLength() const;
Die Länge des Texts in diesem CRichEditCtrl
Objekt.
Weitere Informationen finden Sie im WM_GETTEXTLENGTH
Windows SDK.
// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());
Berechnet die Länge des Texts im Rich-Edit-Steuerelement.
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
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 aufgeführt sind, das GETTEXTLENGTHEX
im Windows SDK beschrieben ist.
uCodePage
Codepage für die Übersetzung (CP_ACP
für ANSI Code Page, 1200 für Unicode).
Die Anzahl der Zeichen oder Bytes im Bearbeitungssteuerelement. Wenn inkompatible Flags festgelegt dwFlags
wurden, gibt diese Memberfunktion zurück E_INVALIDARG
.
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 " in windows SDK.
Ruft den aktuellen Textmodus und die Rückgängig-Ebene eines Rich-Edit-Steuerelements ab.
UINT GetTextMode() const;
Eine Reihe von Bitkennzeichnungen aus dem TEXTMODE
Enumerationstyp, wie im Windows SDK beschrieben. Die Flags geben den aktuellen Textmodus und die Rückgängig-Ebene des Steuerelements an.
Ruft den angegebenen Zeichenbereich ab.
int GetTextRange(
int nFirst,
int nLast,
CString& refString) const;
nFirst
Der Zeichenpositionsindex unmittelbar vor dem ersten Zeichen im Bereich.
nLast
Die Zeichenposition unmittelbar nach dem letzten Zeichen im Bereich.
refString
Ein Verweis auf ein CString
Objekt, das den Text empfängt.
Die Anzahl der kopierten Zeichen, nicht einschließlich des endenden Nullzeichens.
Weitere Informationen finden Sie im EM_GETTEXTRANGE
Windows SDK.
GetTextRange
unterstützt die Rich Edit 2.0-Funktionalität. Weitere Informationen finden Sie unter "Rich Edit Controls " in windows SDK.
Ruft den Typ der nächsten verfügbaren Aktion in der Rückgängig-Warteschlange ab, falls vorhanden.
UNDONAMEID GetUndoName() const;
Wenn sich eine Rückgängig-Aktion in der Rückgängig-Warteschlange des Steuerelements befindet, wird der UndONAMEID-Enumerationstyp zurückgegeben, GetUndoName
der den Typ der nächsten Aktion in der Warteschlange angibt. Wenn die Rückgängig-Warteschlange leer ist oder die Rückgängig-Aktion in der Warteschlange einen unbekannten Typ aufweist, GetUndoName
wird 0 zurückgegeben.
Die Arten von Aktionen, die rückgängig gemacht werden können, umfassen Eingabe-, Lösch-, Drag-Drop-, Ausschneiden- und Einfügevorgänge. Diese Informationen können für Anwendungen nützlich sein, die eine erweiterte Benutzeroberfläche für Rückgängig- und Wiederholen-Vorgänge bereitstellen, z. B. ein Dropdown-Listenfeld mit Aktionen, die rückgängig gemacht werden können.
Ruft die aktuellen Wörterumbruch- und Wortumbruchoptionen für das Rich-Edit-Steuerelement ab.
UINT GetWordWrapMode() const;
Die aktuellen Wörterumbruch- und Wortumbruchoptionen. Diese Optionen werden im EM_SETWORDWRAPMODE
Windows SDK beschrieben.
Diese Memberfunktion ist nur für asiatische Versionen des Betriebssystems verfügbar.
Ändert die Sichtbarkeit der Auswahl.
void HideSelection(
BOOL bHide,
BOOL bPerm);
bHide
Gibt an, ob die Auswahl angezeigt oder ausgeblendet werden soll, TRUE
um die Auswahl auszublenden.
bPerm
Gibt an, ob diese Änderung der Sichtbarkeit für die Auswahl dauerhaft sein soll.
Ist bPerm
dies der Fall TRUE
, wird die ECO_NOHIDESEL
Option für dieses CRichEditCtrl
Objekt geändert. Eine kurze Beschreibung dieser Option finden Sie unter SetOptions
. Mit dieser Funktion können Sie alle Optionen für dieses CRichEditCtrl
Objekt festlegen.
Weitere Informationen finden Sie im EM_HIDESELECTION
Windows SDK.
// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);
Beschränkt die Länge des Texts, den der Benutzer in ein Bearbeitungssteuerelement eingeben kann.
void LimitText(long nChars = 0);
nChars
Gibt die Länge (in Byte) des Texts an, den der Benutzer eingeben kann. Wenn dieser Parameter 0 (Standardwert) ist, wird die Textlänge auf 64 KB festgelegt.
Durch Das Ändern der Textgrenze wird nur der Text eingeschränkt, den der Benutzer eingeben kann. Es hat keine Auswirkungen auf Text, der bereits im Bearbeitungssteuerelement enthalten ist, oder wirkt sich nicht auf die Länge des Texts aus, der von der SetWindowText
Memberfunktion CWnd
in das Bearbeitungssteuerelement in das Bearbeitungssteuerelement kopiert wurde. Wenn eine Anwendung die SetWindowText
Funktion verwendet, um mehr Text in ein Bearbeitungssteuerelement zu setzen, als im Aufruf LimitText
angegeben ist, kann der Benutzer jeden Text innerhalb des Bearbeitungssteuerelements löschen. Die Textgrenze verhindert jedoch, dass der Benutzer den vorhandenen Text durch neuen Text ersetzt, es sei denn, das Löschen der aktuellen Markierung bewirkt, dass der Text unter die Textgrenze fällt.
Hinweis
Für den Textgrenzwert zählt jedes OLE-Element als einzelnes Zeichen.
Weitere Informationen finden Sie im EM_EXLIMITTEXT
Windows SDK.
// Limit the number of characters to be the maximum number visible.
// Get the text metrics for the edit; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDC = m_myRichEditCtrl.GetDC();
pDC->GetTextMetrics(&tm);
m_myRichEditCtrl.ReleaseDC(pDC);
CRect r;
m_myRichEditCtrl.GetRect(&r);
m_myRichEditCtrl.LimitText(r.Width() / tm.tmAveCharWidth);
Ruft die Zeilennummer der Zeile ab, die den angegebenen Zeichenindex enthält.
long LineFromChar(long nIndex) const;
nIndex
Enthält den nullbasierten Indexwert für das gewünschte Zeichen im Text des Bearbeitungssteuerelements oder enthält -1. Wenn nIndex
-1 ist, gibt sie die aktuelle Zeile an, d. h. die Zeile, die das Caret enthält.
Die nullbasierte Zeilennummer der Zeile, die den zeichenindex enthält, der durch nIndex
. Wenn nIndex
-1 ist, wird die Nummer der Zeile zurückgegeben, die das erste Zeichen der Auswahl enthält. Wenn keine Auswahl vorhanden ist, wird die aktuelle Zeilennummer zurückgegeben.
Ein Zeichenindex ist die Anzahl der Zeichen vom Anfang des Rich-Edit-Steuerelements. Bei der Zeichenzählung wird ein OLE-Element als einzelnes Zeichen gezählt.
Weitere Informationen finden Sie im EM_EXLINEFROMCHAR
Windows SDK.
// The index of the char to get information on.
int nIndex = 11;
CString strText;
m_myRichEditCtrl.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);
// Dump the index, character and line number.
TRACE(_T("nIndex = %d, character = %c, line = %d\r\n"),
nIndex, strText[0], m_myRichEditCtrl.LineFromChar(nIndex));
Ruft den Zeichenindex einer Zeile innerhalb dieses CRichEditCtrl
Objekts ab.
int LineIndex(int nLine = -1) const;
nLine
Enthält den Indexwert für die gewünschte Zeile im Text des Bearbeitungssteuerelements oder enthält -1. Wenn nLine
-1 ist, gibt sie die aktuelle Zeile an, d. h. die Zeile, die das Caret enthält.
Der Zeichenindex der in nLine
oder -1 angegebenen Zeile, wenn die angegebene Zeilennummer größer als die Anzahl der Zeilen im Bearbeitungssteuerelement ist.
Der Zeichenindex ist die Anzahl der Zeichen vom Anfang des Rich-Edit-Steuerelements bis zur angegebenen Zeile.
Weitere Informationen finden Sie im EM_LINEINDEX
Windows SDK.
// The string for replacing.
LPCTSTR lpszmyString = _T("Hello, I'm the new second line.");
int nBegin, nEnd, nIndex;
// Replace the second line, if it exists, of the rich edit control
// with the text lpszmyString.
nIndex = m_myRichEditCtrl.LineIndex(1);
if ((nBegin = nIndex) != -1)
{
nEnd = nBegin + m_myRichEditCtrl.LineLength(nIndex);
m_myRichEditCtrl.SetSel(nBegin, nEnd);
m_myRichEditCtrl.ReplaceSel(lpszmyString);
}
Ruft die Länge einer Zeile in einem Rich-Edit-Steuerelement ab.
int LineLength(int nLine = -1) const;
nLine
Gibt den Zeichenindex eines Zeichens in der Zeile an, deren Länge abgerufen werden soll. Wenn dieser Parameter -1 ist, wird die Länge der aktuellen Zeile (die Zeile, die das Caret enthält) zurückgegeben, nicht einschließlich der Länge eines markierten Texts innerhalb der Zeile. Wenn LineLength
für ein ein einzeiliges Bearbeitungssteuerelement aufgerufen wird, wird dieser Parameter ignoriert.
Wenn LineLength
für ein Mehrzeilen-Bearbeitungssteuerelement aufgerufen wird, ist der Rückgabewert die Länge (in TCHAR
) der durch nLine
. Es enthält nicht das Wagenrücklaufzeichen am Ende der Zeile. Wenn LineLength
ein einzeiliges Bearbeitungssteuerelement aufgerufen wird, ist der Rückgabewert die Länge (in TCHAR
) des Texts im Bearbeitungssteuerelement. Wenn nLine
die Anzahl der Zeichen im Steuerelement größer ist, ist der Rückgabewert null.
Verwenden Sie die LineIndex
Memberfunktion, um einen Zeichenindex für eine bestimmte Zeilennummer in diesem CRichEditCtrl
Objekt abzurufen.
Weitere Informationen finden Sie im EM_LINELENGTH
Windows SDK.
Ein Beispiel hierfür finden Sie unter LineIndex
.
Scrollt den Text eines mehrzeiligen Bearbeitungssteuerelements.
void LineScroll(
int nLines,
int nChars = 0);
nLines
Gibt die Anzahl der Zeilen an, die vertikal gescrollt werden sollen.
nChars
Gibt die Anzahl der Zeichenpositionen an, die horizontal gescrollt werden sollen. Dieser Wert wird ignoriert, wenn das Rich-Edit-Steuerelement entweder das Format oder die ES_RIGHT
Formatvorlage ES_CENTER
aufweist. Bearbeitungsformatvorlagen werden in Create
angegeben.
Das Bearbeitungssteuerelement führt keinen vertikalen Bildlauf nach der letzten Textzeile im Bearbeitungssteuerelement durch. Wenn die aktuelle Zeile plus der Anzahl von Zeilen, die durch nLines
Überschreitung der Gesamtanzahl von Zeilen im Bearbeitungssteuerelement angegeben werden, wird der Wert so angepasst, dass die letzte Zeile des Bearbeitungssteuerelements nach oben im Bearbeitungssteuerelementfenster verschoben wird.
LineScroll
kann verwendet werden, um horizontal nach dem letzten Zeichen einer beliebigen Zeile zu scrollen.
Weitere Informationen finden Sie im EM_LINESCROLL
Windows SDK.
Ein Beispiel hierfür finden Sie unter GetFirstVisibleLine
.
Fügt die Daten aus der Zwischenablage an der CRichEditCtrl
Einfügemarke, der Position des Carets, ein.
void Paste();
Daten werden nur eingefügt, wenn die Zwischenablage Daten in einem erkannten Format enthält.
Weitere Informationen finden Sie im WM_PASTE
Windows SDK.
// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();
Fügt Daten in ein bestimmtes Zwischenablageformat in dieses CRichEditCtrl
Objekt ein.
void PasteSpecial(
UINT nClipFormat,
DWORD dvAspect = 0,
HMETAFILE hMF = 0);
nClipFormat
Zwischenablageformat, das in dieses CRichEditCtrl
Objekt eingefügt werden soll.
dvAspect
Geräteaspekt für die Daten, die aus der Zwischenablage abgerufen werden sollen.
hMF
Behandeln Sie die Metadatei, die die iconic-Ansicht des objekts enthält, das eingefügt werden soll.
Das neue Material wird an der Einfügemarke, der Position des Carets, eingefügt.
Weitere Informationen finden Sie im EM_PASTESPECIAL
Windows SDK.
// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);
Ruft die Koordinaten des Clientbereichs eines angegebenen Zeichens in einem Bearbeitungssteuerelement ab.
CPoint PosFromChar(UINT nChar) const;
nChar
Der nullbasierte Index des Zeichens.
Die Position des Zeichens (x, y). Bei einem einzeiligen Bearbeitungssteuerelement ist die y-Koordinate immer null.
Weitere Informationen finden Sie im EM_POSFROMCHAR
Windows SDK.
Wiederholt die nächste Aktion in der Redo-Warteschlange des Steuerelements.
BOOL Redo();
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Weitere Informationen finden Sie im EM_REDO
Windows SDK.
Ersetzt die aktuelle Markierung in diesem CRichEditCtrl
Objekt durch den angegebenen Text.
void ReplaceSel(
LPCTSTR lpszNewText,
BOOL bCanUndo = FALSE);
lpszNewText
Zeiger auf eine mit Null beendete Zeichenfolge, die den Ersetzungstext enthält.
bCanUndo
Um anzugeben, dass diese Funktion rückgängig gemacht werden kann, legen Sie den Wert dieses Parameters auf TRUE
. Der Standardwert ist FALSE
.
Um den gesamten Text in diesem CRichEditCtrl
Objekt zu ersetzen, verwenden Sie CWnd::SetWindowText
.
Wenn keine aktuelle Markierung vorhanden ist, wird der Ersetzungstext an der Einfügemarke eingefügt, d. h. an der aktuellen Caretposition.
Diese Funktion formatiert den eingefügten Text mit der vorhandenen Zeichenformatierung. Beim Ersetzen des gesamten Textbereichs (durch Aufrufen SetSel
von (0,-1) vor dem Aufrufen ReplaceSel
) gibt es ein Absatzendezeichen, das die Formatierung des vorherigen Absatzes beibehält, die vom neu eingefügten Text geerbt wird.
Weitere Informationen finden Sie im EM_REPLACESEL
Windows SDK.
Ein Beispiel hierfür finden Sie unter LineIndex
.
Erzwingt das Senden EN_REQUESTRESIZE
von CRichEditCtrl
Benachrichtigungen an das übergeordnete Fenster.
void RequestResize();
Diese Funktion ist bei der CWnd::OnSize
Verarbeitung für ein unterloses CRichEditCtrl
Objekt nützlich.
Weitere Informationen finden Sie in der EM_REQUESTRESIZE
Meldung und im Abschnitt "Bottomless Rich Edit Controls" unter "Informationen zu Rich Edit Controls " im Windows SDK.
Legt das Rich-Edit-Steuerelement fest, um automatisch eine URL zu erkennen.
BOOL SetAutoURLDetect(BOOL bEnable = TRUE);
bEnable
Gibt an, ob das Steuerelement so festgelegt ist, dass automatisch eine URL erkannt wird. If TRUE
, it is enabled. Wenn FALSE
, ist sie deaktiviert.
Null bei erfolgreicher Ausführung, andernfalls nonzero. Die Nachricht kann z. B. aufgrund unzureichenden Arbeitsspeichers fehlschlagen.
Wenn diese Option aktiviert ist, überprüft das Rich-Edit-Steuerelement den Text, um festzustellen, ob es mit einem Standard-URL-Format übereinstimmt. Eine Liste dieser URL-Formate finden Sie im EM_AUTOURLDETECT
Windows SDK.
Hinweis
Legen Sie diesen Wert nicht fest SetAutoURLDetect
TRUE
, wenn das Bearbeitungssteuerelement den CFE_LINK
Effekt für andere Text als URLs verwendet. SetAutoURLDetect
aktiviert diesen Effekt für URLs und deaktiviert ihn für alle anderen Texte. Weitere Informationen zum CFE_LINK
Effekt finden Sie unter EN_LINK.
Legt die Hintergrundfarbe für dieses CRichEditCtrl
Objekt fest.
COLORREF SetBackgroundColor(
BOOL bSysColor,
COLORREF cr);
bSysColor
Gibt an, ob die Hintergrundfarbe auf den Systemwert festgelegt werden soll. Wenn dieser Wert ist TRUE
, cr
wird ignoriert.
cr
Die angeforderte Hintergrundfarbe. Wird nur verwendet, wenn bSysColor
dies der Grund ist FALSE
.
Die vorherige Hintergrundfarbe für dieses CRichEditCtrl
Objekt.
Die Hintergrundfarbe kann auf den Systemwert oder auf einen angegebenen COLORREF
Wert festgelegt werden.
Weitere Informationen finden Sie unter EM_SETBKGNDCOLOR
Meldung und COLORREF
Struktur im Windows SDK.
// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));
Legt die Zeichenformatierungsattribute für neuen Text in diesem CRichEditCtrl
Objekt fest.
BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);
cf
In der ersten Version zeigt ein Zeiger auf eine CHARFORMAT
Struktur mit den neuen Standardzeichenformatierungsattributen.
In der zweiten Version zeigt ein Zeiger auf eine CHARFORMAT2
Struktur, bei der es sich um eine Rich Edit 2.0-Erweiterung auf die Struktur handelt, die CHARFORMAT
die Standardzeichenformatierungsattribute enthält.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Nur die vom dwMask
Element cf
angegebenen Attribute werden von dieser Funktion geändert.
Weitere Informationen finden Sie in der Meldung und den EM_SETCHARFORMAT
CHARFORMAT
CHARFORMAT2
Strukturen im Windows SDK.
CHARFORMAT cf = {0};
// Modify the default character format so that all new
// text is striked out and not bold.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_STRIKEOUT;
m_myRichEditCtrl.SetDefaultCharFormat(cf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetDefaultCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
(CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_STRIKEOUT);
Legt das Ereignisformat für dieses CRichEditCtrl
Objekt fest.
DWORD SetEventMask(DWORD dwEventMask);
dwEventMask
Das neue Ereignisformat für dieses CRichEditCtrl
Objekt.
Das vorherige Ereignisformat.
Das Ereignisformat gibt an, welche Benachrichtigungen das CRichEditCtrl
Objekt an das übergeordnete Fenster sendet.
Weitere Informationen finden Sie im EM_SETEVENTMASK
Windows SDK.
// Set the event mask so that the parent gets notified when the text
// of the rich edit control changes.
m_myRichEditCtrl.SetEventMask(m_myRichEditCtrl.GetEventMask() |
ENM_CHANGE);
Legt das geänderte Kennzeichen für ein Bearbeitungssteuerelement fest oder löscht es.
void SetModify(BOOL bModified = TRUE);
bModified
Ein Wert, der TRUE
angibt, dass der Text geändert wurde, und ein Wert, der FALSE
angibt, dass er nicht geändert wurde. Standardmäßig ist das geänderte Flag festgelegt.
Das geänderte Kennzeichen gibt an, ob der Text im Bearbeitungssteuerelement geändert wurde. Er wird automatisch festgelegt, wenn der Benutzer den Text ändert. Der Wert kann mit der GetModify
Memberfunktion abgerufen werden.
Weitere Informationen finden Sie im EM_SETMODIFY
Windows SDK.
Ein Beispiel hierfür finden Sie unter GetModify
.
Gibt diesem CRichEditCtrl
Objekt ein IRichEditOleCallback
Objekt für den Zugriff auf OLE-bezogene Ressourcen und Informationen.
BOOL SetOLECallback(IRichEditOleCallback* pCallback);
pCallback
Zeigen Sie auf ein IRichEditOleCallback
Objekt, das dieses CRichEditCtrl
Objekt zum Abrufen von OLE-bezogenen Ressourcen und Informationen verwendet.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Dieses CRichEditCtrl
Objekt ruft IUnknown::AddRef
die Verwendungsanzahl für das durch pCallback
.
Weitere Informationen finden Sie unter EM_SETOLECALLBACK
Meldung und IRichEditOleCallback
Schnittstelle im Windows SDK.
Legt die Optionen für dieses CRichEditCtrl
Objekt fest.
void SetOptions(
WORD wOp,
DWORD dwFlags);
wOp
Gibt den Typ des Vorgangs an. Einer der folgenden Werte:
ECOOP_SET
Legen Sie die Optionen auf diejenigen fest, die durchdwFlags
.ECOOP_OR
Kombinieren Sie die aktuellen Optionen mit den vondwFlags
.ECOOP_AND
Behalten Sie nur die aktuellen Optionen bei, die auch vondwFlags
.ECOOP_XOR
Logisch exklusive ODER die aktuellen Optionen mit denen, die durchdwFlags
angegeben sind.
dwFlags
Rich-Edit-Optionen. Die Kennzeichenwerte werden im Abschnitt "Hinweise" aufgeführt.
Die Optionen können eine Kombination aus den folgenden Werten sein:
ECO_AUTOWORDSELECTION
Automatische Wortauswahl beim Doppelklicken.ECO_AUTOVSCROLL
Scrollt text automatisch um 10 Zeichen nach rechts, wenn der Benutzer am Ende der Zeile ein Zeichen eingibt. Wenn der Benutzer die EINGABETASTE drückt, führt das Steuerelement einen Bildlauf bis zur Position 0 durch.ECO_AUTOHSCROLL
Scrollt text automatisch um eine Seite nach oben, wenn der Benutzer die EINGABETASTE in der letzten Zeile drückt.ECO_NOHIDESEL
Hebt das Standardverhalten für ein Bearbeitungssteuerelement ab. Das Standardverhalten blendet die Auswahl aus, wenn das Steuerelement den Eingabefokus verliert, und zeigt die Auswahl an, wenn das Steuerelement den Eingabefokus erhält. Wenn Sie angebenECO_NOHIDESEL
, wird der markierte Text invertiert, auch wenn das Steuerelement nicht den Fokus hat.ECO_READONLY
Verhindert, dass der Benutzer Text im Bearbeitungssteuerelement eingibt oder bearbeitet.ECO_WANTRETURN
Gibt an, dass ein Wagenrücklauf eingefügt wird, wenn der Benutzer die EINGABETASTE drückt, während text in ein mehrzeiliges Rich-Edit-Steuerelement in einem Dialogfeld eingegeben wird. Wenn Sie diese Formatvorlage nicht angeben, sendet das Drücken der EINGABETASTE einen Befehl an das übergeordnete Fenster des Rich-Edit-Steuerelements, das das Klicken auf die Standardschaltfläche des übergeordneten Fensters imitiert (z. B. die Schaltfläche "OK" in einem Dialogfeld). Diese Formatvorlage hat keine Auswirkung auf ein einzeiliges Bearbeitungssteuerelement.ECO_SAVESEL
Behält die Auswahl bei, wenn das Steuerelement den Fokus verliert. Standardmäßig werden die gesamten Inhalte des Steuerelements ausgewählt, wenn sie wieder den Fokus erhält.ECO_VERTICAL
Zeichnet Text und Objekte in vertikaler Richtung. Nur für asiatische Sprachen verfügbar.
Weitere Informationen finden Sie im EM_SETOPTIONS
Windows SDK.
// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
ECO_AUTOHSCROLL);
Legt die Absatzformatierungsattribute für die aktuelle Auswahl in diesem CRichEditCtrl
Objekt fest.
BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);
pf
In der ersten Version zeigt ein Zeiger auf eine PARAFORMAT
Struktur mit den neuen Standardabsatzformatierungsattributen.
In der zweiten Version zeigt ein Zeiger auf eine PARAFORMAT2
Struktur, bei der PARAFORMAT
es sich um eine Rich Edit 2.0-Erweiterung der Struktur handelt, die die Standardzeichenformatierungsattribute enthält.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Nur die vom dwMask
Element pf
angegebenen Attribute werden von dieser Funktion geändert.
Weitere Informationen finden Sie in der Meldung und den EM_SETPARAFORMAT
PARAFORMAT
PARAFORMAT2
Strukturen im Windows SDK.
PARAFORMAT pf;
// Modify the paragraph format so that the text is centered.
pf.cbSize = sizeof(PARAFORMAT);
pf.dwMask = PFM_ALIGNMENT;
pf.wAlignment = PFA_CENTER;
m_myRichEditCtrl.SetParaFormat(pf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetParaFormat(pf);
ASSERT(pf.dwMask &PFM_ALIGNMENT);
ASSERT(pf.wAlignment == PFA_CENTER);
Legt die Interpunktion in einem Rich-Edit-Steuerelement fest.
BOOL SetPunctuation(
UINT fType,
PUNCTUATION* lpPunc);
fType
Das Interpunktionszeichen. Eine Liste der möglichen Werte finden Sie im fType
Parameter für EM_SETPUNCTUATION
das Windows SDK.
lpPunc
Ein Zeiger auf eine PUNCTUATION
Struktur, wie im Windows SDK beschrieben.
Wenn dies erfolgreich ist, andernfalls 0.
Diese Memberfunktion ist nur für asiatische Versionen des Betriebssystems verfügbar.
Ändert die ECO_READONLY
Option für dieses CRichEditCtrl
Objekt.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
bReadOnly
Gibt an, ob dieses CRichEditCtrl
Objekt schreibgeschützt sein soll.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Eine kurze Beschreibung dieser Option finden Sie unter SetOptions
. Mit dieser Funktion können Sie alle Optionen für dieses CRichEditCtrl
Objekt festlegen.
Weitere Informationen finden Sie im EM_SETREADONLY
Windows SDK.
// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);
Legt das Formatierungsrechteck für dieses CRichEditCtrl
Objekt fest.
void SetRect(LPCRECT lpRect);
lpRect
CRect
oder zeigen Sie auf eine RECT
, die die neuen Grenzen für das Formatierungsrechteck angibt.
Das Formatierungsrechteck ist das einschränkende Rechteck für den Text. Das Begrenzungsrechteck ist unabhängig von der Größe des Rich-Edit-Steuerelementfensters. Wenn dieses CRichEditCtrl
Objekt zum ersten Mal erstellt wird, ist das Formatierungsrechteck dieselbe Größe wie der Clientbereich des Fensters. Verwenden Sie diese Eigenschaft SetRect
, um das Formatierungsrechteck zu vergrößern oder kleiner als das Rich-Edit-Fenster zu machen.
Weitere Informationen finden Sie im EM_SETRECT
Windows SDK.
CRect r;
m_myRichEditCtrl.GetRect(&r);
// Reduce the formatting rect of the rich edit control by
// 10 pixels on each side.
if ((r.Width() > 20) && (r.Height() > 20))
{
r.DeflateRect(0, 20);
m_myRichEditCtrl.SetRect(&r);
}
Legt die Auswahl in diesem CRichEditCtrl
Objekt fest.
void SetSel(
long nStartChar,
long nEndChar);
void SetSel(CHARRANGE& cr);
nStartChar
Nullbasierter Index des ersten Zeichens für die Auswahl.
nEndChar
Nullbasierter Index des letzten Zeichens für die Auswahl.
cr
CHARRANGE
Struktur, die die Grenzen der aktuellen Auswahl enthält.
Die beiden Formen dieser Funktion bieten alternative Möglichkeiten zum Festlegen der Grenzen für die Auswahl. Kurze Beschreibungen dieser Formulare folgen:
SetSel(
cr
) Dieses Formular verwendet dieCHARRANGE
Struktur mit seinencpMin
Elementen,cpMax
um die Grenzen festzulegen.SetSel(
nStartChar
,nEndChar
) Dieses Formular verwendet die ParameternStartChar
und nEndChar, um die Grenzen festzulegen.
Das Caret wird am Ende der Markierung platziert, die durch den größeren Anfangswert (cpMin
oder nStartChar
) und end (cpMax
oder nEndChar
) Indizes angegeben ist. Mit dieser Funktion wird der Inhalt des CRichEditCtrl
Carets so verschoben, dass das Caret sichtbar ist.
Rufen Sie SetSel
zum Markieren des gesamten Texts in diesem CRichEditCtrl
Objekt den Anfangsindex 0 und einen Endindex von - 1 auf.
Weitere Informationen finden Sie unter EM_EXSETSEL
Meldung und CHARRANGE
Struktur im Windows SDK.
Ein Beispiel hierfür finden Sie unter GetSel
.
Legt die Zeichenformatierungsattribute für den Text in der aktuellen Auswahl in diesem CRichEditCtrl
Objekt fest.
BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);
cf
In der ersten Version zeigt ein Zeiger auf eine CHARFORMAT
Struktur mit den neuen Zeichenformatierungsattributen für die aktuelle Auswahl.
In der zweiten Version zeigt ein Zeiger auf eine CHARFORMAT2
Struktur, bei der es sich um eine Rich Edit 2.0-Erweiterung der Struktur handelt, die CHARFORMAT
die neuen Zeichenformatierungsattribute für die aktuelle Auswahl enthält.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Nur die attribute, die vom dwMask
Element von cf angegeben werden, werden von dieser Funktion geändert.
Weitere Informationen finden Sie unter den EM_SETCHARFORMAT
und den CHARFORMAT
Strukturen CHARFORMAT2
im Windows SDK.
CHARFORMAT cf;
// Modify the selection format so that the selected text is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetSelectionCharFormat(cf);
// Verify the settings are what is expected.
m_myRichEditCtrl.GetSelectionCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
(CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_BOLD);
Legt das Zielgerät und die Linienbreite fest, die für WYSIWYG (was Sie sehen) Formatierungen in diesem CRichEditCtrl
Objekt.
BOOL SetTargetDevice(
HDC hDC,
long lLineWidth);
BOOL SetTargetDevice(
CDC& dc,
long lLineWidth);
hDC
Behandeln Sie den Gerätekontext für das neue Zielgerät.
lLineWidth
Zur Formatierung zu verwendende Linienbreite.
dc
CDC
für das neue Zielgerät.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Wenn diese Funktion erfolgreich ist, besitzt das Rich Edit-Steuerelement den Als Parameter übergebenen Gerätekontext. In diesem Fall sollte die aufrufende Funktion den Gerätekontext nicht zerstören.
Weitere Informationen finden Sie im EM_SETTARGETDEVICE
Windows SDK.
// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());
// Get line width information from the printer.
long lLineWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
// Set the printer as the target device.
m_myRichEditCtrl.SetTargetDevice(*pMyPrinterDC, lLineWidth);
pMyPrinterDC->DeleteDC();
}
Legt die Textmodus- oder Rückgängig-Und-Wiederholen-Ebene für ein Rich-Edit-Steuerelement fest.
BOOL SetTextMode(UINT fMode);
fMode
Gibt die neuen Einstellungen für den Textmodus des Steuerelements und Parameter für die Rückgängig-Ebene an. Eine Liste der möglichen Werte finden Sie im Modusparameter für EM_SETTEXTMODE
das Windows SDK.
Null bei erfolgreicher Ausführung, andernfalls nonzero.
Eine Beschreibung der Textmodi finden Sie im EM_SETTEXTMODE
Windows SDK.
Diese Memberfunktion schlägt fehl, wenn das Steuerelement Text enthält. Um sicherzustellen, dass das Steuerelement leer ist, senden Sie eine WM_SETTEXT
Nachricht mit einer leeren Zeichenfolge.
Legt die maximale Anzahl von Aktionen fest, die in der Rückgängig-Warteschlange gespeichert werden können.
UINT SetUndoLimit(UINT nLimit);
nLimit
Gibt die maximale Anzahl von Aktionen an, die in der Rückgängig-Warteschlange gespeichert werden können. Legen Sie auf Null fest, um "Rückgängig" zu deaktivieren.
Die neue maximale Anzahl von Rückgängig-Aktionen für das Rich-Edit-Steuerelement.
Standardmäßig beträgt die maximale Anzahl von Aktionen in der Rückgängig-Warteschlange 100. Wenn Sie diese Zahl erhöhen, muss genügend Arbeitsspeicher verfügbar sein, um die neue Nummer aufzunehmen. Legen Sie für eine bessere Leistung den Grenzwert auf den kleinsten möglichen Wert fest.
Legt die Zeichenformatierungsattribute für das aktuell ausgewählte Wort in diesem CRichEditCtrl
Objekt fest.
BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);
cf
In der ersten Version zeigt ein Zeiger auf eine CHARFORMAT
Struktur mit den neuen Zeichenformatierungsattributen für das aktuell ausgewählte Wort.
In der zweiten Version zeigt ein Zeiger auf eine CHARFORMAT2
Struktur, bei der es sich um eine Rich Edit 2.0-Erweiterung auf die Struktur handelt, die CHARFORMAT
die neuen Zeichenformatierungsattribute für das aktuell ausgewählte Wort enthält.
Ungleich 0 (null), wenn erfolgreich, andernfalls 0 (null).
Nur die vom dwMask
Element cf
angegebenen Attribute werden von dieser Funktion geändert.
Weitere Informationen finden Sie in der Meldung und den EM_SETCHARFORMAT
CHARFORMAT
CHARFORMAT2
Strukturen im Windows SDK.
CHARFORMAT cf;
// Modify the word format so that the selected word is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetWordCharFormat(cf);
Legt die Wörterumbruch- und Wortumbruchoptionen für das Rich-Edit-Steuerelement fest.
UINT SetWordWrapMode(UINT uFlags) const;
uFlags
Die Optionen, die für Wortumbruch und Wortumbruch festgelegt werden sollen. Eine Liste der möglichen Optionen finden Sie im EM_SETWORDWRAPMODE
Windows SDK.
Die aktuellen Wörterumbruch- und Wortumbruchoptionen.
Diese Meldung ist nur in asiatischen Versionen des Betriebssystems verfügbar.
Verhindert, dass das Steuerelement zusätzliche Eingabeaktionen in die aktuelle Rückgängig-Aktion sammelt.
void StopGroupTyping();
Das Steuerelement speichert ggf. die nächste Eingabeaktion in einer neuen Aktion in der Rückgängig-Warteschlange.
Weitere Informationen finden Sie im EM_STOPGROUPTYPING
Windows SDK.
Ersetzt Text in diesem CRichEditCtrl
Objekt durch Text aus dem angegebenen Eingabedatenstrom.
long StreamIn(
int nFormat,
EDITSTREAM& es);
nFormat
Flags, die die Eingabedatenformate angeben. Weitere Informationen finden Sie im Abschnitt Bemerkungen.
es
EDITSTREAM
Struktur, die den Eingabedatenstrom angibt. Weitere Informationen finden Sie im Abschnitt Bemerkungen.
Anzahl der aus dem Eingabedatenstrom gelesenen Zeichen.
Der Wert muss nFormat
eine der folgenden Sein:
SF_TEXT
Gibt nur das Lesen von Text an.SF_RTF
Gibt das Lesen von Text und Formatierung an.
Eine dieser Werte kann mit SFF_SELECTION
. Wenn SFF_SELECTION
angegeben, StreamIn
ersetzt die aktuelle Auswahl durch den Inhalt des Eingabedatenstroms. Wenn sie nicht angegeben ist, StreamIn
wird der gesamte Inhalt dieses CRichEditCtrl
Objekts ersetzt.
EDITSTREAM
Im Parameter es
geben Sie eine Rückruffunktion an, die einen Puffer mit Text ausfüllt. Diese Rückruffunktion wird wiederholt aufgerufen, bis der Eingabedatenstrom erschöpft ist.
Weitere Informationen finden Sie unter EM_STREAMIN
Meldung und EDITSTREAM
Struktur im Windows SDK.
// My callback procedure that reads the rich edit control contents
// from a file.
static DWORD CALLBACK
MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CFile* pFile = (CFile*) dwCookie;
*pcb = pFile->Read(pbBuff, cb);
return 0;
}
// The example code.
// The file from which to load the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_InFile.rtf"), CFile::modeRead);
EDITSTREAM es;
es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamInCallback;
m_myRichEditCtrl.StreamIn(SF_RTF, es);
Schreibt den Inhalt dieses CRichEditCtrl
Objekts in den angegebenen Ausgabedatenstrom.
long StreamOut(
int nFormat,
EDITSTREAM& es);
nFormat
Flags, die die Ausgabedatenformate angeben. Weitere Informationen finden Sie im Abschnitt Bemerkungen.
es
EDITSTREAM
Struktur, die den Ausgabedatenstrom angibt. Weitere Informationen finden Sie im Abschnitt Bemerkungen.
Anzahl der Zeichen, die in den Ausgabedatenstrom geschrieben wurden.
Der Wert muss nFormat
eine der folgenden Sein:
SF_TEXT
Gibt nur das Schreiben von Text an.SF_RTF
Gibt das Schreiben von Text und Formatierung an.SF_RTFNOOBJS
Gibt das Schreiben von Text und Formatierung an, wobei OLE-Elemente durch Leerzeichen ersetzt werden.SF_TEXTIZED
Gibt das Schreiben von Text und Formatierung mit Textdarstellungen von OLE-Elementen an.
Jeder dieser Werte kann mit SFF_SELECTION
. Wenn SFF_SELECTION
angegeben, StreamOut
schreibt die aktuelle Auswahl in den Ausgabedatenstrom. Wenn er nicht angegeben ist, StreamOut
schreibt er den gesamten Inhalt dieses CRichEditCtrl
Objekts aus.
EDITSTREAM
Im Parameter es
geben Sie eine Rückruffunktion an, die einen Puffer mit Text ausfüllt. Diese Rückruffunktion wird wiederholt aufgerufen, bis der Ausgabedatenstrom erschöpft ist.
Weitere Informationen finden Sie unter EM_STREAMOUT
Meldung und EDITSTREAM
Struktur im Windows SDK.
// My callback procedure that writes the rich edit control contents
// to a file.
static DWORD CALLBACK
MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CFile* pFile = (CFile*) dwCookie;
pFile->Write(pbBuff, cb);
*pcb = cb;
return 0;
}
// The example code.
// The file to store the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_OutFile.rtf"),
CFile::modeCreate | CFile::modeWrite);
EDITSTREAM es;
es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamOutCallback;
m_myRichEditCtrl.StreamOut(SF_RTF, es);
Rückgängigmachen des letzten Vorgangs im Rich-Edit-Steuerelement.
BOOL Undo();
Nonzero, wenn der Rückgängig-Vorgang erfolgreich ist; andernfalls 0.
Ein Rückgängig-Vorgang kann auch rückgängig gemacht werden. Sie können beispielsweise gelöschten Text mit dem ersten Aufruf wiederherstellen.Undo
Solange kein Bearbeitungsvorgang dazwischen besteht, können Sie den Text erneut mit einem zweiten Aufruf Undo
entfernen.
Weitere Informationen finden Sie im EM_UNDO
Windows SDK.
Ein Beispiel hierfür finden Sie unter CanUndo
.
MFC-Beispiel FÜR WORDPAD
CWnd
Klasse
Hierarchiediagramm
CEdit
Klasse
CRichEditView
Klasse