CRichEditCtrl Klasa

Udostępnia funkcje kontrolki edycji wzbogaconej.

Składnia

class CRichEditCtrl : public CWnd

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CRichEditCtrl::CRichEditCtrl CRichEditCtrl Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CRichEditCtrl::CanPaste Określa, czy zawartość Schowka może zostać wklejona do tej kontrolki edycji wzbogaconej.
CRichEditCtrl::CanRedo Określa, czy istnieją jakiekolwiek akcje w kolejce ponownego wykonania kontrolki.
CRichEditCtrl::CanUndo Określa, czy można cofnąć operację edycji.
CRichEditCtrl::CharFromPos Pobiera informacje o znaku znajdującym się najbliżej określonego punktu w obszarze klienta kontrolki edycji.
CRichEditCtrl::Clear Czyści bieżące zaznaczenie.
CRichEditCtrl::Copy Kopiuje bieżące zaznaczenie do Schowka.
CRichEditCtrl::Create Tworzy kontrolkę edycji wzbogaconej systemu Windows i kojarzy ją z tym CRichEditCtrl obiektem.
CRichEditCtrl::CreateEx Tworzy kontrolkę edycji wzbogaconej systemu Windows z określonymi rozszerzonymi stylami systemu Windows i kojarzy ją z tym CRichEditCtrl obiektem.
CRichEditCtrl::Cut Wycina bieżące zaznaczenie do Schowka.
CRichEditCtrl::DisplayBand Wyświetla część zawartości tego CRichEditCtrl obiektu.
CRichEditCtrl::EmptyUndoBuffer Resetuje (czyści) flagę cofania tego CRichEditCtrl obiektu.
CRichEditCtrl::FindText Lokalizuje tekst w tym CRichEditCtrl obiekcie.
CRichEditCtrl::FindWordBreak Znajduje następny podział wyrazów przed lub po określonej pozycji znaku lub pobiera informacje o znaku w tej pozycji.
CRichEditCtrl::FormatRange Formatuje zakres tekstu dla docelowego urządzenia wyjściowego.
CRichEditCtrl::GetCharPos Określa lokalizację danego znaku w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetDefaultCharFormat Pobiera bieżące domyślne atrybuty formatowania znaków w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetEventMask Pobiera maskę zdarzeń dla tego CRichEditCtrl obiektu.
CRichEditCtrl::GetFirstVisibleLine Określa najbardziej widoczną linię w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetIRichEditOle Pobiera wskaźnik do interfejsu IRichEditOle dla tej rozbudowanej kontrolki edycji.
CRichEditCtrl::GetLimitText Pobiera limit ilości tekstu, który użytkownik może wprowadzić do tego CRichEditCtrl obiektu.
CRichEditCtrl::GetLine Pobiera wiersz tekstu z tego CRichEditCtrl obiektu.
CRichEditCtrl::GetLineCount Pobiera liczbę wierszy w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetModify Określa, czy zawartość tego CRichEditCtrl obiektu uległa zmianie od czasu ostatniego zapisania.
CRichEditCtrl::GetOptions Pobiera zaawansowane opcje kontrolki edycji.
CRichEditCtrl::GetParaFormat Pobiera atrybuty formatowania akapitu w bieżącym zaznaczeniu w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetPunctuation Pobiera bieżące znaki interpunkcyjne dla kontrolki edycji wzbogaconej. Ten komunikat jest dostępny tylko w azjatyckich wersjach systemu operacyjnego.
CRichEditCtrl::GetRect Pobiera prostokąt formatowania dla tego CRichEditCtrl obiektu.
CRichEditCtrl::GetRedoName Pobiera typ następnej akcji, jeśli istnieje, w kolejce ponownego wykonania kontrolki.
CRichEditCtrl::GetSel Pobiera pozycje początkowe i końcowe bieżącego zaznaczenia w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetSelectionCharFormat Pobiera atrybuty formatowania znaków w bieżącym zaznaczeniu w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetSelectionType Pobiera typ zawartości w bieżącym zaznaczeniu w tym CRichEditCtrl obiekcie.
CRichEditCtrl::GetSelText Pobiera tekst bieżącego zaznaczenia w tym CRichEditCtrl obiekcie
CRichEditCtrl::GetTextLength Pobiera długość tekstu w znakach w tym CRichEditCtrl obiekcie. Nie zawiera znaku null zakończenia.
CRichEditCtrl::GetTextLengthEx Pobiera liczbę znaków lub bajtów w widoku edycji wzbogaconej. Akceptuje listę flag wskazującą metodę określania długości tekstu w kontrolce edycji sformatowanej
CRichEditCtrl::GetTextMode Pobiera bieżący tryb tekstowy i cofa poziom kontrolki edycji sformatowanej.
CRichEditCtrl::GetTextRange Pobiera określony zakres tekstu.
CRichEditCtrl::GetUndoName Pobiera typ następnej akcji cofania, jeśli istnieje.
CRichEditCtrl::GetWordWrapMode Pobiera bieżące opcje zawijania wyrazów i podziału wyrazów dla kontrolki edycji wzbogaconej. Ten komunikat jest dostępny tylko w azjatyckich wersjach systemu operacyjnego.
CRichEditCtrl::HideSelection Pokazuje lub ukrywa bieżące zaznaczenie.
CRichEditCtrl::LimitText Ogranicza ilość tekstu, który użytkownik może wprowadzić do CRichEditCtrl obiektu.
CRichEditCtrl::LineFromChar Określa, który wiersz zawiera dany znak.
CRichEditCtrl::LineIndex Pobiera indeks znaków danego wiersza w tym CRichEditCtrl obiekcie.
CRichEditCtrl::LineLength Pobiera długość danego wiersza w tym CRichEditCtrl obiekcie.
CRichEditCtrl::LineScroll Przewija tekst w tym CRichEditCtrl obiekcie.
CRichEditCtrl::Paste Wstawia zawartość Schowka do tej kontrolki edycji wzbogaconej.
CRichEditCtrl::PasteSpecial Wstawia zawartość Schowka do tej bogatej kontrolki edycji w określonym formacie danych.
CRichEditCtrl::PosFromChar Pobiera współrzędne obszaru klienta określonego znaku w kontrolce edycji.
CRichEditCtrl::Redo Ponownie wykonuje następną akcję w kolejce ponownego wykonania kontrolki.
CRichEditCtrl::ReplaceSel Zamienia bieżące zaznaczenie w tym CRichEditCtrl obiekcie na określony tekst.
CRichEditCtrl::RequestResize Wymusza wysłanie powiadomień o zmianie rozmiaru żądania przez ten CRichEditCtrl obiekt.
CRichEditCtrl::SetAutoURLDetect Wskazuje, czy automatyczne wykrywanie adresu URL jest aktywne w kontrolce edycji wzbogaconej.
CRichEditCtrl::SetBackgroundColor Ustawia kolor tła w tym CRichEditCtrl obiekcie.
CRichEditCtrl::SetDefaultCharFormat Ustawia bieżące domyślne atrybuty formatowania znaków w tym CRichEditCtrl obiekcie.
CRichEditCtrl::SetEventMask Ustawia maskę zdarzeń dla tego CRichEditCtrl obiektu.
CRichEditCtrl::SetModify Ustawia lub czyści flagę modyfikacji dla tego CRichEditCtrl obiektu.
CRichEditCtrl::SetOLECallback IRichEditOleCallback Ustawia obiekt COM dla tej kontrolki edycji wzbogaconej.
CRichEditCtrl::SetOptions Ustawia opcje dla tego CRichEditCtrl obiektu.
CRichEditCtrl::SetParaFormat Ustawia atrybuty formatowania akapitu w bieżącym zaznaczeniu w tym CRichEditCtrl obiekcie.
CRichEditCtrl::SetPunctuation Ustawia znaki interpunkcyjne dla kontrolki edycji wzbogaconej. Ten komunikat jest dostępny tylko w azjatyckich wersjach systemu operacyjnego.
CRichEditCtrl::SetReadOnly Ustawia opcję tylko do odczytu dla tego CRichEditCtrl obiektu.
CRichEditCtrl::SetRect Ustawia prostokąt formatowania dla tego CRichEditCtrl obiektu.
CRichEditCtrl::SetSel Ustawia zaznaczenie w tym CRichEditCtrl obiekcie.
CRichEditCtrl::SetSelectionCharFormat Ustawia atrybuty formatowania znaków w bieżącym zaznaczeniu w tym CRichEditCtrl obiekcie.
CRichEditCtrl::SetTargetDevice Ustawia docelowe urządzenie wyjściowe dla tego CRichEditCtrl obiektu.
CRichEditCtrl::SetTextMode Ustawia tryb tekstowy lub cofa poziom kontrolki edycji sformatowanej. Komunikat kończy się niepowodzeniem, jeśli kontrolka zawiera tekst.
CRichEditCtrl::SetUndoLimit Ustawia maksymalną liczbę akcji, które mogą być przechowywane w kolejce cofania.
CRichEditCtrl::SetWordCharFormat Ustawia atrybuty formatowania znaków w bieżącym słowie w tym CRichEditCtrl obiekcie.
CRichEditCtrl::SetWordWrapMode Ustawia opcje zawijania wyrazów i podziału wyrazów dla kontrolki edycji wzbogaconej. Ten komunikat jest dostępny tylko w azjatyckich wersjach systemu operacyjnego.
CRichEditCtrl::StopGroupTyping Uniemożliwia kontrolce zbieranie dodatkowych akcji wpisywania do bieżącej akcji cofania. Kontrolka przechowuje następną akcję wpisywania, jeśli istnieje, do nowej akcji w kolejce cofania.
CRichEditCtrl::StreamIn Wstawia tekst ze strumienia wejściowego do tego CRichEditCtrl obiektu.
CRichEditCtrl::StreamOut Przechowuje tekst z tego CRichEditCtrl obiektu do strumienia wyjściowego.
CRichEditCtrl::Undo Odwraca ostatnią operację edycji.

Uwagi

"Kontrolka edycji sformatowanej" to okno, w którym użytkownik może wprowadzać i edytować tekst. Tekst można przypisać do formatowania znaków i akapitów oraz zawierać osadzone obiekty OLE. Kontrolki edycji wzbogaconej udostępniają interfejs programowania do formatowania tekstu. Jednak aplikacja musi zaimplementować wszystkie składniki interfejsu użytkownika niezbędne do udostępnienia użytkownikom operacji formatowania.

Ta wspólna kontrolka CRichEditCtrl systemu Windows (i dlatego klasa) jest dostępna tylko dla programów działających w systemach Windows 95/98 i Windows NT w wersji 3.51 lub nowszej. Klasa CRichEditCtrl obsługuje wersje 2.0 i 3.0 bogatej kontrolki edycji zestawu Windows SDK.

Uwaga

Jeśli używasz kontrolki edycji wzbogaconej w oknie dialogowym (niezależnie od tego, czy aplikacja jest oparta na standardach SDI, MDI czy dialogowych), musisz wywołać wywołanie AfxInitRichEdit raz przed wyświetleniem okna dialogowego. Typowym miejscem wywoływania tej funkcji jest funkcja składowa programu InitInstance . Nie trzeba go wywoływać za każdym razem, gdy jest wyświetlane okno dialogowe, tylko po raz pierwszy. Nie musisz dzwonić AfxInitRichEdit , jeśli pracujesz z usługą CRichEditView.

Aby uzyskać więcej informacji na temat korzystania z programu CRichEditCtrl, zobacz:

Przykład użycia kontrolki edycji wzbogaconej w aplikacji MFC można znaleźć w przykładowej aplikacji WORDPAD .

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

CRichEditCtrl

Wymagania

Nagłówka:afxcmn.h

CRichEditCtrl::CanPaste

Określa, czy kontrolka edycji wzbogaconej może wkleić określony format Schowka.

BOOL CanPaste(UINT nFormat = 0) const;

Parametry

nFormat
Format danych Schowka do wykonywania zapytań. Ten parametr może być jednym ze wstępnie zdefiniowanych formatów Schowka lub wartości zwracanej przez RegisterClipboardFormat.

Wartość zwracana

Niezero, jeśli można wkleić format Schowka; w przeciwnym razie 0.

Uwagi

Jeśli nFormat wartość to 0, CanPaste spróbuje dowolny format aktualnie w Schowku.

Aby uzyskać więcej informacji, zobacz EM_CANPASTE komunikat i RegisterClipboardFormat funkcja w zestawie Windows SDK.

Przykład

// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
   m_myRichEditCtrl.Paste();
}

CRichEditCtrl::CanRedo

Określa, czy kolejka ponownego wykonania zawiera jakiekolwiek akcje.

BOOL CanRedo() const;

Wartość zwracana

Niezero, jeśli kolejka ponownego wykonania zawiera akcje, w przeciwnym razie 0.

Uwagi

Aby odnaleźć nazwę operacji w kolejce ponownej, wywołaj metodę CRichEditCtrl::GetRedoName. Aby ponownie przeprowadzić najnowszą operację Cofnij, wywołaj metodę Redo.

Aby uzyskać więcej informacji, zobacz EM_CANREDO w zestawie Windows SDK.

CRichEditCtrl::CanUndo

Określa, czy można cofnąć ostatnią operację edycji.

BOOL CanUndo() const;

Wartość zwracana

Niezerowe, jeśli ostatnia operacja edycji może zostać cofnięta przez wywołanie funkcji składowej Undo ; 0, jeśli nie można jej cofnąć.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_CANUNDO w zestawie Windows SDK.

Przykład

// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
   m_myRichEditCtrl.Undo();

CRichEditCtrl::CharFromPos

Pobiera informacje o znaku w punkcie określonym przez parametr pt.

int CharFromPos(CPoint pt) const;

Parametry

pt
CPoint Obiekt zawierający współrzędne określonego punktu.

Wartość zwracana

Indeks znaków oparty na zerach najbliższego określonego punktu. Jeśli określony punkt przekracza ostatni znak w kontrolce, zwracana wartość wskazuje ostatni znak w kontrolce.

Uwagi

Ta funkcja składowa działa z kontrolką edycji wzbogaconej. Aby uzyskać informacje dotyczące kontrolki edycji, wywołaj metodę CEdit::CharFromPos.

Aby uzyskać więcej informacji, zobacz EM_CHARFROMPOS w zestawie Windows SDK.

CRichEditCtrl::Clear

Usuwa (czyści) bieżące zaznaczenie (jeśli istnieje) w kontrolce edycji wzbogaconej.

void Clear();

Uwagi

Usunięcie wykonywane przez Clear program można cofnąć przez wywołanie funkcji składowej Undo .

Aby usunąć bieżące zaznaczenie i umieścić usuniętą zawartość w Schowku, wywołaj funkcję składową Cut .

Aby uzyskać więcej informacji, zobacz WM_CLEAR w zestawie Windows SDK.

Przykład

// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();

CRichEditCtrl::Copy

Kopiuje bieżące zaznaczenie (jeśli istnieje) w kontrolce edycji wzbogaconej do Schowka.

void Copy();

Uwagi

Aby uzyskać więcej informacji, zobacz WM_COPY w zestawie Windows SDK.

Przykład

// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();

CRichEditCtrl::Create

Tworzy kontrolkę edycji wzbogaconej systemu Windows i kojarzy ją z tym CRichEditCtrl obiektem.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwStyle
Określa styl kontrolki edycji. Zastosuj kombinację stylów okien wymienionych w poniższej sekcji Uwagi i edytuj style kontrolek opisane w zestawie Windows SDK.

rect
Określa rozmiar i położenie kontrolki edycji. Może być obiektem lub RECT strukturąCRect.

pParentWnd
Określa okno nadrzędne kontrolki edycji (często CDialog). Nie może to być NULL.

nID
Określa identyfikator kontrolki edycji.

Wartość zwracana

Inicjalizacja niezerowa, jeśli inicjowanie zakończyło się pomyślnie; w przeciwnym razie, 0.

Uwagi

Obiekt jest konstruowany CRichEditCtrl w dwóch krokach. Najpierw wywołaj konstruktor, a następnie wywołaj metodę CRichEditCtrlCreate, która tworzy kontrolkę edycji systemu Windows i dołącza ją do CRichEditCtrl obiektu.

Podczas tworzenia kontrolki edycji wzbogaconej za pomocą tej funkcji należy najpierw załadować niezbędną wspólną bibliotekę kontrolek. Aby załadować bibliotekę, wywołaj funkcję AfxInitRichEditglobalną , która z kolei inicjuje wspólną bibliotekę kontrolek. Musisz wywołać AfxInitRichEdit tylko raz w procesie.

Podczas Create wykonywania system Windows wysyła WM_NCCREATEkomunikaty , WM_NCCALCSIZE, WM_CREATEi WM_GETMINMAXINFO do kontrolki edycji.

Te komunikaty są domyślnie obsługiwane przez OnNcCreatefunkcje składowe , OnNcCalcSize, OnCreatei OnGetMinMaxInfo w klasie bazowej CWnd . Aby rozszerzyć domyślną obsługę komunikatów, utwórz klasę z CRichEditCtrlklasy , dodaj mapę komunikatów do nowej klasy i przesłoń powyższe funkcje składowe programu obsługi komunikatów. Zastąpij OnCreatena przykład , aby wykonać wymaganą inicjację dla nowej klasy.

Zastosuj następujące style okna do kontrolki edycji.

  • WS_CHILD Zawsze.

  • WS_VISIBLE Zwykle.

  • WS_DISABLED Rzadko.

  • WS_GROUP Aby grupować kontrolki.

  • WS_TABSTOP Aby uwzględnić kontrolkę edycji w kolejności tabulacji.

Aby uzyskać więcej informacji na temat stylów okien, zobacz CreateWindow w zestawie Windows SDK.

Przykład

m_myRichEditCtrl.Create(
    WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
    CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);

CRichEditCtrl::CreateEx

Tworzy kontrolkę (okno podrzędne) i kojarzy ją z obiektem CRichEditCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwExStyle
Określa rozszerzony styl tworzonej kontrolki. Aby uzyskać listę rozszerzonych stylów systemu Windows, zobacz dwExStyle parametr dla CreateWindowEx w zestawie Windows SDK.

dwStyle
Określa styl kontrolki edycji. Zastosuj kombinację stylów okien wymienionych w sekcji Create Uwagi i edytuj style kontrolek opisane w zestawie Windows SDK.

rect
Odwołanie do RECT struktury opisującej rozmiar i położenie okna do utworzenia w współrzędnych pParentWndklienta .

pParentWnd
Wskaźnik do okna, który jest elementem nadrzędnym kontrolki.

nID
Identyfikator okna podrzędnego kontrolki.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Create Zamiast CreateEx stosować rozszerzone style systemu Windows określone w rozszerzonym prefiksie WS_EX_stylu systemu Windows.

CRichEditCtrl::CRichEditCtrl

CRichEditCtrl Tworzy obiekt.

CRichEditCtrl();

Uwagi

Służy Create do konstruowania kontrolki edycji wzbogaconej w systemie Windows.

Przykład

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;

CRichEditCtrl::Cut

Usuń (wycina) bieżące zaznaczenie (jeśli istnieje) w kontrolce edycji sformatowanej i kopiuje usunięty tekst do Schowka.

void Cut();

Uwagi

Usunięcie wykonywane przez Cut program można cofnąć przez wywołanie funkcji składowej Undo .

Aby usunąć bieżące zaznaczenie bez umieszczania usuniętego tekstu w Schowku, wywołaj funkcję składową Clear .

Aby uzyskać więcej informacji, zobacz WM_CUT w zestawie Windows SDK.

Przykład

// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();

CRichEditCtrl::DisplayBand

Wyświetla część zawartości kontrolki edycji sformatowanej (tekst i elementy OLE) zgodnie z wcześniejszym formatowaniem według FormatRange.

BOOL DisplayBand(LPRECT pDisplayRect);

Parametry

pDisplayRect
Wskaźnik do RECT obiektu lub CRect określający obszar urządzenia w celu wyświetlenia tekstu.

Wartość zwracana

Nonzero, jeśli wyświetlanie sformatowanego tekstu powiedzie się, w przeciwnym razie 0.

Uwagi

Tekst i elementy OLE są przycinane do obszaru określonego przez wskaźnik pDisplayRect.

Aby uzyskać więcej informacji, zobacz EM_DISPLAYBAND w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CRichEditCtrl::FormatRange.

CRichEditCtrl::EmptyUndoBuffer

Resetuje (wyczyść) flagę cofania tej wzbogaconej kontrolki edycji.

void EmptyUndoBuffer();

Uwagi

Kontrolka nie będzie teraz mogła cofnąć ostatniej operacji edycji. Flaga cofania jest ustawiana za każdym razem, gdy można cofnąć operację w kontrolce edycji wzbogaconej.

Flaga cofania jest automatycznie czyszczone za każdym razem, gdy wywołasz funkcję SetWindowTextskładową CWnd .

Aby uzyskać więcej informacji, zobacz EM_EMPTYUNDOBUFFER w zestawie Windows SDK.

Przykład

// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
   m_myRichEditCtrl.EmptyUndoBuffer();
   ASSERT(!m_myRichEditCtrl.CanUndo());
}

CRichEditCtrl::FindText

Znajduje tekst w kontrolce edycji sformatowanej.

long FindText(
    DWORD dwFlags,
    FINDTEXTEX* pFindText) const;

Parametry

dwFlags
Aby uzyskać listę możliwych wartości, zobacz wParam w temacie w EM_FINDTEXTEXT zestawie Windows SDK.

pFindText
Wskaźnik do FINDTEXTEX struktury dający parametry wyszukiwania i zwracając zakres, w którym znaleziono dopasowanie.

Wartość zwracana

Położenie następnego dopasowania opartego na znakach zerowych; - 1, jeśli nie ma więcej dopasowań.

Uwagi

Możesz wyszukać w górę lub w dół, ustawiając odpowiednie parametry zakresu w CHARRANGE strukturze w strukturze FINDTEXTEX .

Aby uzyskać więcej informacji, zobacz EM_FINDTEXTEX komunikat i FINDTEXTEX struktura w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::FindWordBreak

Znajduje następny podział wyrazów przed lub po pozycji określonej przez nStart.

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

Parametry

nCode
Wskazuje akcję do wykonania. Aby uzyskać listę możliwych wartości, zobacz opis parametru code w EM_FINDWORDBREAK zestawie Windows SDK.

nStart
Położenie znaku zerowego, od którego ma się rozpocząć.

Wartość zwracana

Na podstawie parametru nCode. Aby uzyskać więcej informacji, zobacz EM_FINDWORDBREAK w zestawie Windows SDK.

Uwagi

Za pomocą tej funkcji składowej można pobrać informacje o znaku na danej pozycji.

CRichEditCtrl::FormatRange

Formatuje zakres tekstu w kontrolce edycji sformatowanej dla określonego urządzenia.

long FormatRange(
    FORMATRANGE* pfr,
    BOOL bDisplay = TRUE);

Parametry

pfr
Wskaźnik do struktury zawierającej FORMATRANGE informacje o urządzeniu wyjściowym. NULL wskazuje, że można zwolnić buforowane informacje w ramach kontrolki edycji wzbogaconej.

bDisplay
Wskazuje, czy tekst ma być renderowany. Jeśli FALSEtekst jest mierzony.

Wartość zwracana

Indeks ostatniego znaku pasujący do regionu i jeden.

Uwagi

Zazwyczaj po tym wywołaniu następuje wywołanie metody DisplayBand.

Aby uzyskać więcej informacji, zobacz EM_FORMATRANGE komunikat i FORMATRANGE struktura w zestawie Windows SDK.

Przykład

// 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();
}

CRichEditCtrl::GetCharPos

Pobiera pozycję (lewy górny róg) danego znaku w tym CRichEditCtrl obiekcie.

CPoint GetCharPos(long lChar) const;

Parametry

lChar
Indeks znaku oparty na wartości zerowej.

Wartość zwracana

Lokalizacja lewego górnego rogu znaku określonego przez lChar.

Uwagi

Znak jest określony przez nadanie wartości indeksu opartego na zera. Jeśli lChar jest większy niż indeks ostatniego znaku w tym CRichEditCtrl obiekcie, wartość zwracana określa współrzędne pozycji znaku tuż obok ostatniego znaku w tym CRichEditCtrl obiekcie.

Aby uzyskać więcej informacji, zobacz EM_POSFROMCHAR w zestawie Windows SDK.

CRichEditCtrl::GetDefaultCharFormat

Pobiera domyślne atrybuty formatowania znaków tego CRichEditCtrl obiektu.

DWORD GetDefaultCharFormat(CHARFORMAT& cf) const;  DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;

Parametry

cf
W pierwszej wersji wskaźnik do CHARFORMAT struktury zawierającej domyślne atrybuty formatowania znaków.

W drugiej wersji wskaźnik do CHARFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do CHARFORMAT struktury, zawierającym domyślne atrybuty formatowania znaków.

Wartość zwracana

Element dwMask członkowski danych programu cf. Określono domyślne atrybuty formatowania znaków.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_GETCHARFORMAT komunikat i CHARFORMATCHARFORMAT2 struktury w zestawie WINDOWS SDK.

Przykład

Zobacz przykład dla elementu SetDefaultCharFormat.

CRichEditCtrl::GetEventMask

Pobiera maskę zdarzeń dla tego CRichEditCtrl obiektu.

long GetEventMask() const;

Wartość zwracana

Maska zdarzeń dla tego CRichEditCtrl obiektu.

Uwagi

Maska zdarzeń określa, które komunikaty CRichEditCtrl powiadomień, które obiekt wysyła do okna nadrzędnego.

Aby uzyskać więcej informacji, zobacz EM_GETEVENTMASK w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CRichEditCtrl::SetEventMask.

CRichEditCtrl::GetFirstVisibleLine

Określa najbardziej widoczną linię w tym CRichEditCtrl obiekcie.

int GetFirstVisibleLine() const;

Wartość zwracana

Indeks oparty na zera najbardziej widocznej górnej linii w tym CRichEditCtrl obiekcie.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_GETFIRSTVISIBLELINE w zestawie Windows SDK.

Przykład

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);
}

CRichEditCtrl::GetIRichEditOle

Uzyskuje dostęp do interfejsu IRichEditOle dla tego CRichEditCtrl obiektu.

IRichEditOle* GetIRichEditOle() const;

Wartość zwracana

Wskaźnik do interfejsu IRichEditOle , który może służyć do uzyskiwania dostępu do funkcji OLE tego CRichEditCtrl obiektu; NULL jeśli interfejs nie jest dostępny.

Uwagi

Użyj tego interfejsu, aby uzyskać dostęp do funkcji OLE tego CRichEditCtrl obiektu.

Aby uzyskać więcej informacji, zobacz EM_GETOLEINTERFACE komunikat i IRichEditOle interfejs w zestawie Windows SDK.

CRichEditCtrl::GetLimitText

Pobiera limit tekstu dla tego CRichEditCtrl obiektu.

long GetLimitText() const;

Wartość zwracana

Bieżący limit tekstu w bajtach dla tego CRichEditCtrl obiektu.

Uwagi

Limit tekstu to maksymalna ilość tekstu w bajtach, którą może zaakceptować kontrolka edycji sformatowanej.

Aby uzyskać więcej informacji, zobacz EM_GETLIMITTEXT w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::GetLine

Pobiera wiersz tekstu z tego CRichEditCtrl obiektu.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer,
    int nMaxLength) const;

Parametry

nIndex
Indeks zerowy wiersza do pobrania.

lpszBuffer
Wskazuje bufor w celu odebrania tekstu. Pierwsze słowo buforu musi określać maksymalną liczbę bajtów, które można skopiować do buforu.

nMaxLength
Maksymalna liczba znaków, które można skopiować do lpszBuffer. Druga forma umieszcza GetLine tę wartość w pierwszym słowie buforu określonego przez lpszBuffer.

Wartość zwracana

Liczba znaków skopiowanych do lpszBufferpliku .

Uwagi

Skopiowany wiersz nie zawiera znaku zerowego zakończenia.

Uwaga

Ponieważ pierwsze słowo buforu przechowuje liczbę znaków do skopiowania, upewnij się, że bufor ma długość co najmniej 4 bajtów.

Aby uzyskać więcej informacji, zobacz EM_GETLINE w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu GetLineCount.

CRichEditCtrl::GetLineCount

Pobiera liczbę wierszy w CRichEditCtrl obiekcie.

int GetLineCount() const;

Wartość zwracana

Liczba wierszy w tym CRichEditCtrl obiekcie.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_GETLINECOUNT w zestawie Windows SDK.

Przykład

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);
}

CRichEditCtrl::GetModify

Określa, czy zawartość tego CRichEditCtrl obiektu została zmodyfikowana.

BOOL GetModify() const;

Wartość zwracana

Nonzero, jeśli tekst w tym CRichEditCtrl obiekcie został zmodyfikowany; w przeciwnym razie 0.

Uwagi

System Windows obsługuje flagę wewnętrzną wskazującą, czy zawartość kontrolki edycji wzbogaconej została zmieniona. Ta flaga jest czyszczone po pierwszym utworzeniu kontrolki edycji i może być również wyczyszczone przez wywołanie funkcji składowej SetModify .

Aby uzyskać więcej informacji, zobacz EM_GETMODIFY w zestawie Windows SDK.

Przykład

// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
   m_myRichEditCtrl.SetModify(FALSE);

CRichEditCtrl::GetOptions

Pobiera obecnie opcje ustawione dla kontrolki edycji wzbogaconej.

UINT GetOptions() const;

Wartość zwracana

Kombinacja bieżących wartości flag opcji. Aby uzyskać listę tych wartości, zobacz fOptions parametr w komunikacie, zgodnie z opisem EM_SETOPTIONS w zestawie SDK systemu Windows.

CRichEditCtrl::GetParaFormat

Pobiera atrybuty formatowania akapitu bieżącego zaznaczenia.

DWORD GetParaFormat(PARAFORMAT& pf) const;  DWORD GetParaFormat(PARAFORMAT2& pf) const;

Parametry

pf
W pierwszej wersji wskaźnik do PARAFORMAT struktury do przechowywania atrybutów formatowania akapitu bieżącego zaznaczenia.

W drugiej wersji wskaźnik do PARAFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do PARAFORMAT struktury, zawierającym domyślne atrybuty formatowania znaków.

Wartość zwracana

Element dwMask członkowski danych programu pf. Określa atrybuty formatowania akapitu, które są spójne w całym bieżącym zaznaczeniu.

Uwagi

Jeśli wybrano więcej niż jeden akapit, pf otrzymuje atrybuty pierwszego zaznaczonego akapitu. Wartość zwracana określa, które atrybuty są spójne w całym zaznaczeniu.

Aby uzyskać więcej informacji, zobacz EM_GETPARAFORMAT komunikat i PARAFORMATPARAFORMAT2 struktury w zestawie WINDOWS SDK.

Przykład

Zobacz przykład dla elementu CRichEditCtrl::SetParaFormat.

CRichEditCtrl::GetPunctuation

Pobiera bieżące znaki interpunkcyjne w kontrolce edycji wzbogaconej.

BOOL GetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc) const;

Parametry

fType
Flaga typu interpunkcji, zgodnie z opisem w parametrze fTypeEM_GETPUNCTUATION w zestawie Windows SDK.

lpPunc
Wskaźnik do struktury, zgodnie z opisem PUNCTUATION w zestawie Windows SDK.

Wartość zwracana

Nonzero, jeśli operacja zakończyła się pomyślnie, w przeciwnym razie 0.

Uwagi

Ta funkcja składowa jest dostępna tylko z azjatyckimi wersjami systemu operacyjnego.

CRichEditCtrl::GetRect

Pobiera prostokąt formatowania dla tego CRichEditCtrl obiektu.

void GetRect(LPRECT lpRect) const;

Parametry

lpRect
CRect lub wskaźnik do RECT odbierania prostokąta formatowania tego CRichEditCtrl obiektu.

Uwagi

Prostokąt formatowania jest prostokątem ograniczenia tekstu. Ta wartość jest niezależna od rozmiaru CRichEditCtrl obiektu.

Aby uzyskać więcej informacji, zobacz EM_GETRECT w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu LimitText.

CRichEditCtrl::GetRedoName

Pobiera typ następnej dostępnej akcji w kolejce ponownej, jeśli istnieje.

UNDONAMEID GetRedoName() const;

Wartość zwracana

Jeśli operacja powiedzie się, GetRedoName zwraca UNDONAMEID typ wyliczenia wskazujący typ następnej akcji w kolejce ponownego wykonania kontrolki. Jeśli kolejka ponownego wykonania jest pusta lub jeśli akcja ponownego wykonania w kolejce jest nieznanym typem, GetRedoName zwraca wartość 0.

Uwagi

Typy akcji, które można cofnąć lub ponownie, obejmują wpisywanie, usuwanie, przeciąganie, wycinanie i wklejanie. Te informacje mogą być przydatne w przypadku aplikacji, które udostępniają rozszerzony interfejs użytkownika dla operacji Cofnij i Wykonaj ponownie, na przykład pole listy rozwijanej akcji możliwych do ponownego wykonania.

CRichEditCtrl::GetSel

Pobiera granice bieżącego zaznaczenia w tym CRichEditCtrl obiekcie.

void GetSel(CHARRANGE& cr) const;

void GetSel(
    long& nStartChar,
    long& nEndChar) const;

Parametry

cr
Odwołanie do CHARRANGE struktury w celu odbierania granic bieżącego zaznaczenia.

nStartChar
Indeks na podstawie zera pierwszego znaku w bieżącym zaznaczeniu.

nEndChar
Indeks zera ostatniego znaku w bieżącym zaznaczeniu.

Uwagi

Dwie formy tej funkcji zapewniają alternatywne sposoby uzyskiwania granic dla zaznaczenia. Poniżej przedstawiono krótkie opisy tych formularzy:

  • GetSel(cr) Ten formularz używa CHARRANGE struktury z jej cpMin elementami i cpMax do zwracania granic.

  • GetSel(nStartChar,nEndChar) Ten formularz zwraca ograniczenia w parametrach nStartChar i .nEndChar

Zaznaczenie zawiera wszystko, jeśli początek (cpMin lub nStartChar) wynosi 0, a koniec (cpMax lub nEndChar) to - 1.

Aby uzyskać więcej informacji, zobacz EM_EXGETSEL komunikat i CHARRANGE struktura w zestawie Windows SDK.

Przykład

// Set the selection to be all characters after the current selection.
long nStartChar, nEndChar;

m_myRichEditCtrl.GetSel(nStartChar, nEndChar);
m_myRichEditCtrl.SetSel(nEndChar, -1);

CRichEditCtrl::GetSelectionCharFormat

Pobiera atrybuty formatowania znaków bieżącego zaznaczenia.

DWORD GetSelectionCharFormat(CHARFORMAT& cf) const;  DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;

Parametry

cf
W pierwszej wersji wskaźnik do CHARFORMAT struktury w celu odbierania atrybutów formatowania znaków bieżącego zaznaczenia.

W drugiej wersji wskaźnik do CHARFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do CHARFORMAT struktury w celu odbierania atrybutów formatowania znaków bieżącego zaznaczenia.

Wartość zwracana

Element dwMask członkowski danych programu cf. Określa atrybuty formatowania znaków, które są spójne w bieżącym zaznaczeniu.

Uwagi

Parametr cf odbiera atrybuty pierwszego znaku w bieżącym zaznaczeniu. Wartość zwracana określa, które atrybuty są spójne w całym zaznaczeniu.

Aby uzyskać więcej informacji, zobacz EM_GETCHARFORMAT komunikat i CHARFORMATCHARFORMAT2 struktury w zestawie WINDOWS SDK.

Przykład

Zobacz przykład dla elementu SetSelectionCharFormat.

CRichEditCtrl::GetSelectionType

Określa typ wyboru w tym CRichEditCtrl obiekcie.

WORD GetSelectionType() const;

Wartość zwracana

Flagi wskazujące zawartość bieżącego zaznaczenia. Kombinacja następujących flag:

  • SEL_EMPTY Wskazuje, że nie ma bieżącego zaznaczenia.

  • SEL_TEXT Wskazuje, że bieżące zaznaczenie zawiera tekst.

  • SEL_OBJECT Wskazuje, że bieżące zaznaczenie zawiera co najmniej jeden element OLE.

  • SEL_MULTICHAR Wskazuje, że bieżące zaznaczenie zawiera więcej niż jeden znak tekstu.

  • SEL_MULTIOBJECT Wskazuje, że bieżące zaznaczenie zawiera więcej niż jeden obiekt OLE.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_SELECTIONTYPE w zestawie Windows SDK.

Przykład

// 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);
}

CRichEditCtrl::GetSelText

Pobiera tekst z bieżącego zaznaczenia w tym CRichEditCtrl obiekcie.

long GetSelText(LPSTR lpBuf) const;  CString GetSelText() const;

Parametry

lpBuf
Wskaźnik do buforu w celu odebrania tekstu w bieżącym zaznaczeniu.

Wartość zwracana

Zależy od formularza:

  • GetSelText(lpBuf) Liczba znaków skopiowanych do lpBufelementu , w tym zakończenie o wartości null.

  • GetSelText( ) Ciąg zawierający bieżące zaznaczenie.

Uwagi

Jeśli używasz pierwszego formularza, musisz upewnić się, GetSelText(lpBuf)że bufor jest wystarczająco duży dla tekstu, który otrzyma. Wywołaj metodę GetSel , aby określić liczbę znaków w bieżącym zaznaczeniu.

Aby uzyskać więcej informacji, zobacz EM_GETSELTEXT w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CRichEditCtrl::GetSelectionType.

CRichEditCtrl::GetTextLength

Pobiera długość tekstu w znakach w tym CRichEditCtrl obiekcie, a nie zawiera znaku null zakończenia.

long GetTextLength() const;

Wartość zwracana

Długość tekstu w tym CRichEditCtrl obiekcie.

Uwagi

Aby uzyskać więcej informacji, zobacz WM_GETTEXTLENGTH w zestawie Windows SDK.

Przykład

// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());

CRichEditCtrl::GetTextLengthEx

Oblicza długość tekstu w kontrolce edycji sformatowanej.

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

Parametry

dwFlags
Wartość określająca metodę, która ma być używana podczas określania długości tekstu. Ten element członkowski może być co najmniej jedną wartością wymienioną w elemencie członkowskim flag opisanym GETTEXTLENGTHEX w zestawie Windows SDK.

uCodePage
Strona kodowa tłumaczenia (CP_ACP dla strony kodowej ANSI, 1200 dla Unicode).

Wartość zwracana

Liczba znaków lub bajtów w kontrolce edycji. Jeśli w elemencie ustawiono dwFlagsniezgodne flagi , ta funkcja składowa zwraca wartość E_INVALIDARG.

Uwagi

GetTextLengthEx Udostępnia dodatkowe sposoby określania długości tekstu. Obsługuje ona funkcję edycji wzbogaconej 2.0. Aby uzyskać więcej informacji, zobacz Informacje o kontrolkach edycji wzbogaconej w zestawie SDK systemu Windows.

CRichEditCtrl::GetTextMode

Pobiera bieżący tryb tekstowy i cofa poziom kontrolki edycji sformatowanej.

UINT GetTextMode() const;

Wartość zwracana

Zestaw flag bitowych z typu wyliczenia, zgodnie z TEXTMODE opisem w zestawie Windows SDK. Flagi wskazują bieżący tryb tekstowy i cofanie poziomu kontrolki.

CRichEditCtrl::GetTextRange

Pobiera określony zakres znaków.

int GetTextRange(
    int nFirst,
    int nLast,
    CString& refString) const;

Parametry

nFirst
Indeks położenia znaku bezpośrednio poprzedza pierwszy znak w zakresie.

nLast
Położenie znaku bezpośrednio po ostatnim znaku w zakresie.

refString
Odwołanie do CString obiektu, który otrzyma tekst.

Wartość zwracana

Liczba skopiowanych znaków, a nie łącznie z znakiem null zakończenia.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_GETTEXTRANGE w zestawie Windows SDK.

GetTextRange obsługuje funkcję edycji wzbogaconej 2.0. Aby uzyskać więcej informacji, zobacz Informacje o kontrolkach edycji wzbogaconej w zestawie SDK systemu Windows.

CRichEditCtrl::GetUndoName

Pobiera typ następnej dostępnej akcji w kolejce cofania, jeśli istnieje.

UNDONAMEID GetUndoName() const;

Wartość zwracana

Jeśli akcja cofania znajduje się w kolejce cofania kontrolki, GetUndoName zwraca typ wyliczenia UNDONAMEID wskazujący typ następnej akcji w kolejce. Jeśli kolejka cofania jest pusta lub jeśli akcja cofania w kolejce jest nieznanym typem, GetUndoName zwraca wartość 0.

Uwagi

Typy akcji, które można cofnąć lub ponownie, obejmują wpisywanie, usuwanie, przeciąganie, wycinanie i wklejanie. Te informacje mogą być przydatne w przypadku aplikacji, które udostępniają rozszerzony interfejs użytkownika dla operacji Cofnij i Wykonaj ponownie, na przykład pole listy rozwijanej akcji, które można cofnąć.

CRichEditCtrl::GetWordWrapMode

Pobiera bieżące opcje zawijania wyrazów i podziału wyrazów dla kontrolki edycji wzbogaconej.

UINT GetWordWrapMode() const;

Wartość zwracana

Bieżące opcje zawijania wyrazów i podziału wyrazów. Te opcje opisano w EM_SETWORDWRAPMODE zestawie Windows SDK.

Uwagi

Ta funkcja składowa jest dostępna tylko dla wersji azjatyckich systemu operacyjnego.

CRichEditCtrl::HideSelection

Zmienia widoczność zaznaczenia.

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

Parametry

bHide
Wskazuje, czy zaznaczenie powinno być wyświetlane, czy ukryte, TRUE aby ukryć zaznaczenie.

bPerm
Wskazuje, czy ta zmiana widoczności zaznaczenia powinna być stała.

Uwagi

Gdy bPerm parametr ma TRUEwartość , zmienia ECO_NOHIDESEL opcję dla tego CRichEditCtrl obiektu. Aby uzyskać krótki opis tej opcji, zobacz SetOptions. Za pomocą tej funkcji można ustawić wszystkie opcje dla tego CRichEditCtrl obiektu.

Aby uzyskać więcej informacji, zobacz EM_HIDESELECTION w zestawie Windows SDK.

Przykład

// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);

CRichEditCtrl::LimitText

Ogranicza długość tekstu, który użytkownik może wprowadzić w kontrolce edycji.

void LimitText(long nChars = 0);

Parametry

nChars
Określa długość (w bajtach) tekstu, który użytkownik może wprowadzić. Jeśli ten parametr to 0 (wartość domyślna), długość tekstu jest ustawiona na 64K bajtów.

Uwagi

Zmiana limitu tekstu ogranicza tylko tekst, który użytkownik może wprowadzić. Nie ma on wpływu na tekst już w kontrolce edycji ani nie ma wpływu na długość tekstu skopiowanego do kontrolki edycji przez funkcję składową SetWindowText w CWndpliku . Jeśli aplikacja używa SetWindowText funkcji, aby umieścić więcej tekstu w kontrolce edycji niż określono w wywołaniu metody LimitText, użytkownik może usunąć dowolny tekst w kontrolce edycji. Jednak limit tekstu uniemożliwi użytkownikowi zastąpienie istniejącego tekstu nowym tekstem, chyba że usunięcie bieżącego zaznaczenia spowoduje, że tekst spadnie poniżej limitu tekstu.

Uwaga

W przypadku limitu tekstu każdy element OLE jest liczone jako pojedynczy znak.

Aby uzyskać więcej informacji, zobacz EM_EXLIMITTEXT w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::LineFromChar

Pobiera numer wiersza, który zawiera określony indeks znaków.

long LineFromChar(long nIndex) const;

Parametry

nIndex
Zawiera wartość indeksu zerowego dla żądanego znaku w tekście kontrolki edycji lub zawiera wartość -1. Jeśli nIndex wartość to -1, określa bieżący wiersz, czyli wiersz, który zawiera daszek.

Wartość zwracana

Numer wiersza zerowego wiersza zawierającego indeks znaków określony przez nIndex. Jeśli nIndex wartość to -1, zwracana jest liczba wierszy, która zawiera pierwszy znak zaznaczenia. Jeśli nie ma zaznaczenia, zwracany jest bieżący numer wiersza.

Uwagi

Indeks znaków to liczba znaków od początku kontrolki edycji wzbogaconej. W przypadku zliczania znaków element OLE jest liczony jako pojedynczy znak.

Aby uzyskać więcej informacji, zobacz EM_EXLINEFROMCHAR w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::LineIndex

Pobiera indeks znaków wiersza w tym CRichEditCtrl obiekcie.

int LineIndex(int nLine = -1) const;

Parametry

nLine
Zawiera wartość indeksu dla żądanego wiersza w tekście kontrolki edycji lub zawiera -1. Jeśli nLine wartość to -1, określa bieżący wiersz, czyli wiersz, który zawiera daszek.

Wartość zwracana

Indeks znaków wiersza określony w nLine elem lub -1, jeśli określona liczba wierszy jest większa niż liczba wierszy w kontrolce edycji.

Uwagi

Indeks znaków to liczba znaków od początku kontrolki edycji wzbogaconej do określonego wiersza.

Aby uzyskać więcej informacji, zobacz EM_LINEINDEX w zestawie Windows SDK.

Przykład

// 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);
}

CRichEditCtrl::LineLength

Pobiera długość wiersza w kontrolce edycji wzbogaconej.

int LineLength(int nLine = -1) const;

Parametry

nLine
Określa indeks znaków znaku w wierszu, którego długość ma zostać pobrana. Jeśli ten parametr ma wartość -1, zwracana jest długość bieżącego wiersza (wiersza zawierającego daszek), bez uwzględniania długości żadnego zaznaczonego tekstu w wierszu. Gdy LineLength jest wywoływana dla kontrolki edycji pojedynczego wiersza, ten parametr jest ignorowany.

Wartość zwracana

Gdy LineLength jest wywoływana dla wielowierszowej kontrolki edycji, zwracana wartość to długość (w TCHAR) wiersza określonego przez nLine. Nie zawiera znaku powrotu karetki na końcu wiersza. Gdy LineLength jest wywoływana dla kontrolki edycji jednowierszowej, zwracana wartość to długość (w TCHAR) tekstu w kontrolce edycji. Jeśli nLine jest większa niż liczba znaków w kontrolce, zwracana wartość to zero.

Uwagi

Użyj funkcji składowej LineIndex , aby pobrać indeks znaków dla danego numeru wiersza w tym CRichEditCtrl obiekcie.

Aby uzyskać więcej informacji, zobacz EM_LINELENGTH w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu LineIndex.

CRichEditCtrl::LineScroll

Przewija tekst kontrolki edycji wielowierszowej.

void LineScroll(
    int nLines,
    int nChars = 0);

Parametry

nLines
Określa liczbę wierszy do przewijania w pionie.

nChars
Określa liczbę pozycji znaków do przewijania w poziomie. Ta wartość jest ignorowana, jeśli kontrolka edycji wzbogaconej ES_RIGHT ma styl lub .ES_CENTER Style edycji są określone w pliku Create.

Uwagi

Kontrolka edycji nie przewija się w pionie obok ostatniego wiersza tekstu w kontrolce edycji. Jeśli bieżący wiersz plus liczba wierszy określonych przez nLines wartość przekracza całkowitą liczbę wierszy w kontrolce edycji, wartość jest dostosowywana tak, aby ostatni wiersz kontrolki edycji był przewijany w górnej części okna kontrolki edycji.

LineScroll można użyć do przewijania w poziomie obok ostatniego znaku dowolnego wiersza.

Aby uzyskać więcej informacji, zobacz EM_LINESCROLL w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu GetFirstVisibleLine.

CRichEditCtrl::Paste

Wstawia dane ze Schowka do CRichEditCtrl punktu wstawiania, lokalizację karetki.

void Paste();

Uwagi

Dane są wstawiane tylko wtedy, gdy Schowek zawiera dane w rozpoznanym formacie.

Aby uzyskać więcej informacji, zobacz WM_PASTE w zestawie Windows SDK.

Przykład

// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();

CRichEditCtrl::PasteSpecial

Wkleja dane w określonym formacie Schowka do tego CRichEditCtrl obiektu.

void PasteSpecial(
    UINT nClipFormat,
    DWORD dvAspect = 0,
    HMETAFILE hMF = 0);

Parametry

nClipFormat
Format schowka do wklejenia do tego CRichEditCtrl obiektu.

dvAspect
Aspekt urządzenia dla danych, które mają zostać pobrane ze Schowka.

hMF
Dojście do metapliku zawierającego kultowy widok obiektu do wklejenia.

Uwagi

Nowy materiał jest wstawiany w punkcie wstawiania, w miejscu karetki.

Aby uzyskać więcej informacji, zobacz EM_PASTESPECIAL w zestawie Windows SDK.

Przykład

// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);

CRichEditCtrl::PosFromChar

Pobiera współrzędne obszaru klienta określonego znaku w kontrolce edycji.

CPoint PosFromChar(UINT nChar) const;

Parametry

nChar
Indeks zerowy znaku.

Wartość zwracana

Położenie znaku (x, y). W przypadku kontrolki edycji jednowierszowej współrzędna y jest zawsze równa zero.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_POSFROMCHAR w zestawie Windows SDK.

CRichEditCtrl::Redo

Ponownie wykonuje następną akcję w kolejce ponownego wykonania kontrolki.

BOOL Redo();

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Aby uzyskać więcej informacji, zobacz EM_REDO w zestawie Windows SDK.

CRichEditCtrl::ReplaceSel

Zamienia bieżące zaznaczenie w tym CRichEditCtrl obiekcie na określony tekst.

void ReplaceSel(
    LPCTSTR lpszNewText,
    BOOL bCanUndo = FALSE);

Parametry

lpszNewText
Wskaźnik do ciągu zakończonego wartością null zawierającego tekst zastępczy.

bCanUndo
Aby określić, że tę funkcję można cofnąć, ustaw wartość tego parametru na TRUEwartość . Wartość domyślna to FALSE.

Uwagi

Aby zastąpić cały tekst w tym CRichEditCtrl obiekcie, użyj polecenia CWnd::SetWindowText.

Jeśli nie ma bieżącego zaznaczenia, tekst zastępczy zostanie wstawiony w punkcie wstawiania, czyli bieżącej lokalizacji karetki.

Ta funkcja sformatuje wstawiony tekst przy użyciu istniejącego formatowania znaków. Podczas zastępowania całego zakresu tekstu (przez wywołanie metody (0,-1) przed wywołaniem SetSelReplaceSelznaku akapitu istnieje koniec znaku akapitu, który zachowuje formatowanie poprzedniego akapitu, które jest dziedziczone przez nowo wstawiony tekst.

Aby uzyskać więcej informacji, zobacz EM_REPLACESEL w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu LineIndex.

CRichEditCtrl::RequestResize

Wymusza wysłanie EN_REQUESTRESIZE komunikatów powiadomień do okna nadrzędnego tego CRichEditCtrl obiektu.

void RequestResize();

Uwagi

Ta funkcja jest przydatna podczas CWnd::OnSize przetwarzania dla obiektu bez CRichEditCtrl dołu.

Aby uzyskać więcej informacji, zobacz komunikat i sekcję EM_REQUESTRESIZE Kontrolki edycji wzbogaconej bez dołu w temacie About Rich Edit Controls in the Windows SDK (Informacje o kontrolkach edycji wzbogaconej w zestawie Windows SDK).

CRichEditCtrl::SetAutoURLDetect

Ustawia kontrolkę edycji wzbogaconej w celu automatycznego wykrywania adresu URL.

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

Parametry

bEnable
Określa, czy kontrolka jest ustawiona tak, aby automatycznie wykrywała adres URL. Jeśli TRUEparametr jest włączony. Jeśli FALSEparametr jest wyłączony.

Wartość zwracana

Zero, jeśli się powiedzie, w przeciwnym razie niezero. Na przykład komunikat może zakończyć się niepowodzeniem z powodu niewystarczającej ilości pamięci.

Uwagi

Jeśli ta opcja jest włączona, kontrolka edycji sformatowanej przeskanuje tekst, aby określić, czy jest zgodny ze standardowym formatem adresu URL. Aby uzyskać listę tych formatów adresów URL, zobacz EM_AUTOURLDETECT w zestawie Windows SDK.

Uwaga

Nie należy ustawiać SetAutoURLDetect wartości , TRUE jeśli kontrolka edycji używa CFE_LINK efektu dla tekstu innego niż adresy URL. SetAutoURLDetect włącza ten efekt dla adresów URL i wyłącza go dla wszystkich innych tekstu. Aby uzyskać więcej informacji na temat CFE_LINK efektu, zobacz EN_LINK.

CRichEditCtrl::SetBackgroundColor

Ustawia kolor tła dla tego CRichEditCtrl obiektu.

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

Parametry

bSysColor
Wskazuje, czy kolor tła powinien być ustawiony na wartość systemowa. Jeśli ta wartość to TRUE, cr jest ignorowana.

cr
Żądany kolor tła. Używane tylko wtedy, gdy bSysColor ma wartość FALSE.

Wartość zwracana

Poprzedni kolor tła dla tego CRichEditCtrl obiektu.

Uwagi

Kolor tła można ustawić na wartość systemową lub określoną COLORREF wartość.

Aby uzyskać więcej informacji, zobacz EM_SETBKGNDCOLOR komunikat i COLORREF struktura w zestawie Windows SDK.

Przykład

// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));

CRichEditCtrl::SetDefaultCharFormat

Ustawia atrybuty formatowania znaków dla nowego tekstu w tym CRichEditCtrl obiekcie.

BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);

Parametry

cf
W pierwszej wersji wskaźnik do CHARFORMAT struktury zawierającej nowe domyślne atrybuty formatowania znaków.

W drugiej wersji wskaźnik do CHARFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do CHARFORMAT struktury, zawierającym domyślne atrybuty formatowania znaków.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Tylko atrybuty określone przez dwMask element członkowski cf są zmieniane przez tę funkcję.

Aby uzyskać więcej informacji, zobacz EM_SETCHARFORMAT komunikat i CHARFORMATCHARFORMAT2 struktury w zestawie WINDOWS SDK.

Przykład

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);

CRichEditCtrl::SetEventMask

Ustawia maskę zdarzeń dla tego CRichEditCtrl obiektu.

DWORD SetEventMask(DWORD dwEventMask);

Parametry

dwEventMask
Nowa maska zdarzeń dla tego CRichEditCtrl obiektu.

Wartość zwracana

Poprzednia maska zdarzeń.

Uwagi

Maska zdarzeń określa, które komunikaty CRichEditCtrl powiadomień, które obiekt wysyła do okna nadrzędnego.

Aby uzyskać więcej informacji, zobacz EM_SETEVENTMASK w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::SetModify

Ustawia lub czyści zmodyfikowaną flagę kontrolki edycji.

void SetModify(BOOL bModified = TRUE);

Parametry

bModified
Wartość TRUE wskazuje, że tekst został zmodyfikowany, a wartość FALSE wskazuje, że jest niezmodyfikowany. Domyślnie jest ustawiona zmodyfikowana flaga.

Uwagi

Zmodyfikowana flaga wskazuje, czy tekst w kontrolce edycji został zmodyfikowany. Jest on ustawiany automatycznie za każdym razem, gdy użytkownik zmieni tekst. Jego wartość można pobrać za pomocą funkcji składowej GetModify .

Aby uzyskać więcej informacji, zobacz EM_SETMODIFY w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu GetModify.

CRichEditCtrl::SetOLECallback

Nadaje temu CRichEditCtrl obiektowi obiekt, IRichEditOleCallback który ma być używany do uzyskiwania dostępu do zasobów i informacji związanych z ole.

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

Parametry

pCallback
Wskaźnik do IRichEditOleCallback obiektu, którego ten CRichEditCtrl obiekt będzie używać do pobierania zasobów i informacji związanych z ole.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Ten CRichEditCtrl obiekt wywoła IUnknown::AddRef metodę , aby zwiększać liczbę użycia obiektu COM określonego przez pCallback.

Aby uzyskać więcej informacji, zobacz EM_SETOLECALLBACK komunikat i IRichEditOleCallback interfejs w zestawie Windows SDK.

CRichEditCtrl::SetOptions

Ustawia opcje dla tego CRichEditCtrl obiektu.

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

Parametry

wOp
Wskazuje typ operacji. Jedna z następujących wartości:

  • ECOOP_SET Ustaw opcje na określone przez dwFlags.

  • ECOOP_OR Połącz bieżące opcje z opcjami określonymi przez dwFlags.

  • ECOOP_AND Zachowaj tylko te bieżące opcje, które są również określone przez dwFlags.

  • ECOOP_XOR Logicznie wyklucza lub bieżące opcje z tymi określonymi przez dwFlags.

dwFlags
Opcje edycji wzbogaconej. Wartości flagi są wymienione w sekcji Uwagi.

Uwagi

Opcje mogą być kombinacją następujących wartości:

  • ECO_AUTOWORDSELECTION Automatyczne zaznaczanie wyrazów po dwukrotnym kliknięciu.

  • ECO_AUTOVSCROLL Automatycznie przewija tekst po prawej stronie o 10 znaków, gdy użytkownik wpisze znak na końcu wiersza. Gdy użytkownik naciśnie klawisz ENTER, kontrolka przewija cały tekst z powrotem do pozycji zero.

  • ECO_AUTOHSCROLL Automatycznie przewija tekst w górę o jedną stronę, gdy użytkownik naciska klawisz ENTER w ostatnim wierszu.

  • ECO_NOHIDESEL Neguje domyślne zachowanie kontrolki edycji. Domyślne zachowanie ukrywa zaznaczenie, gdy kontrolka traci fokus wejściowy i pokazuje wybór, gdy kontrolka odbiera fokus wejściowy. Jeśli określisz ECO_NOHIDESELwartość , zaznaczony tekst zostanie odwrócony, nawet jeśli kontrolka nie ma fokusu.

  • ECO_READONLY Uniemożliwia użytkownikowi wpisywanie lub edytowanie tekstu w kontrolce edycji.

  • ECO_WANTRETURN Określa, że zwracana karetka jest wstawiana, gdy użytkownik naciska klawisz ENTER podczas wprowadzania tekstu do kontrolki edycji sformatowanej w wielu wierszach w oknie dialogowym. Jeśli nie określisz tego stylu, naciśnięcie klawisza ENTER spowoduje wysłanie polecenia do okna nadrzędnego kontrolki edycji wzbogaconej, które naśladuje kliknięcie domyślnego przycisku okna nadrzędnego (na przykład przycisk OK w oknie dialogowym). Ten styl nie ma wpływu na kontrolkę edycji jednowierszowej.

  • ECO_SAVESEL Zachowuje zaznaczenie, gdy kontrolka traci fokus. Domyślnie cała zawartość kontrolki jest wybierana po odzyskaniu fokusu.

  • ECO_VERTICAL Rysuje tekst i obiekty w kierunku pionowym. Dostępne tylko dla języków azjatyckich.

Aby uzyskać więcej informacji, zobacz EM_SETOPTIONS w zestawie Windows SDK.

Przykład

// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
                                          ECO_AUTOHSCROLL);

CRichEditCtrl::SetParaFormat

Ustawia atrybuty formatowania akapitu dla bieżącego zaznaczenia w tym CRichEditCtrl obiekcie.

BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);

Parametry

pf
W pierwszej wersji wskaźnik do PARAFORMAT struktury zawierającej nowe domyślne atrybuty formatowania akapitu.

W drugiej wersji wskaźnik do PARAFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do PARAFORMAT struktury, zawierającym domyślne atrybuty formatowania znaków.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Tylko atrybuty określone przez dwMask element członkowski pf są zmieniane przez tę funkcję.

Aby uzyskać więcej informacji, zobacz EM_SETPARAFORMAT komunikat i PARAFORMATPARAFORMAT2 struktury w zestawie WINDOWS SDK.

Przykład

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);

CRichEditCtrl::SetPunctuation

Ustawia interpunkcję w kontrolce edycji wzbogaconej.

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

Parametry

fType
Flaga interpunkcji. Aby uzyskać listę możliwych wartości, zobacz fType parametr dla EM_SETPUNCTUATION w zestawie Windows SDK.

lpPunc
Wskaźnik do struktury, zgodnie z opisem PUNCTUATION w zestawie Windows SDK.

Wartość zwracana

Jeśli operacja niezerowa zakończyła się powodzeniem, w przeciwnym razie 0.

Uwagi

Ta funkcja składowa jest dostępna tylko dla wersji azjatyckich systemu operacyjnego.

CRichEditCtrl::SetReadOnly

ECO_READONLY Zmienia opcję dla tego CRichEditCtrl obiektu.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Parametry

bReadOnly
Wskazuje, czy ten CRichEditCtrl obiekt powinien być tylko do odczytu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Aby uzyskać krótki opis tej opcji, zobacz SetOptions. Za pomocą tej funkcji można ustawić wszystkie opcje dla tego CRichEditCtrl obiektu.

Aby uzyskać więcej informacji, zobacz EM_SETREADONLY w zestawie Windows SDK.

Przykład

// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);

CRichEditCtrl::SetRect

Ustawia prostokąt formatowania dla tego CRichEditCtrl obiektu.

void SetRect(LPCRECT lpRect);

Parametry

lpRect
CRect lub wskaźnik do RECT , który wskazuje nowe granice dla prostokąta formatowania.

Uwagi

Prostokąt formatowania jest prostokątem ograniczającym tekst. Prostokąt ograniczający jest niezależny od rozmiaru okna kontrolki edycji wzbogaconej. Po pierwszym utworzeniu tego CRichEditCtrl obiektu prostokąt formatowania jest taki sam jak obszar klienta okna. Służy SetRect do tworzenia prostokąta formatowania większego lub mniejszego niż okno edycji wzbogaconej.

Aby uzyskać więcej informacji, zobacz EM_SETRECT w zestawie Windows SDK.

Przykład

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);
}

CRichEditCtrl::SetSel

Ustawia zaznaczenie w tym CRichEditCtrl obiekcie.

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

Parametry

nStartChar
Indeks na podstawie zera pierwszego znaku dla zaznaczenia.

nEndChar
Indeks zerowy ostatniego znaku dla zaznaczenia.

cr
CHARRANGE struktura zawierająca granice bieżącego zaznaczenia.

Uwagi

Dwie formy tej funkcji udostępniają alternatywne sposoby ustawiania granic zaznaczenia. Poniżej przedstawiono krótkie opisy tych formularzy:

  • SetSel(cr) Ten formularz używa CHARRANGE struktury z jej cpMin elementami i cpMax do ustawiania granic.

  • SetSel(nStartChar,nEndChar) Ten formularz używa parametrów nStartChar i nEndChar, aby ustawić granice.

Daszek jest umieszczany na końcu zaznaczenia wskazanego przez większą liczbę indeksów początkowych (cpMin lub nStartChar) i końcowych (cpMax lub nEndChar). Ta funkcja przewija zawartość CRichEditCtrl elementu , aby daszek był widoczny.

Aby zaznaczyć cały tekst w tym CRichEditCtrl obiekcie, wywołaj metodę SetSel z indeksem początkowym 0 i indeksem końcowym wartości - 1.

Aby uzyskać więcej informacji, zobacz EM_EXSETSEL komunikat i CHARRANGE struktura w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu GetSel.

CRichEditCtrl::SetSelectionCharFormat

Ustawia atrybuty formatowania znaków dla tekstu w bieżącym zaznaczeniu w tym CRichEditCtrl obiekcie.

BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);

Parametry

cf
W pierwszej wersji wskaźnik do CHARFORMAT struktury zawierającej nowe atrybuty formatowania znaków dla bieżącego zaznaczenia.

W drugiej wersji wskaźnik do CHARFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do CHARFORMAT struktury, zawierającym nowe atrybuty formatowania znaków dla bieżącego zaznaczenia.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Tylko atrybuty określone przez dwMask element członkowski cf są zmieniane przez tę funkcję.

Aby uzyskać więcej informacji, zobacz struktury EM_SETCHARFORMAT i i CHARFORMAT2CHARFORMAT w zestawie SDK systemu Windows.

Przykład

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);

CRichEditCtrl::SetTargetDevice

Ustawia formatowanie urządzenia docelowego i szerokości linii używanej dla formatowania WYSIWYG (co widzisz) w tym CRichEditCtrl obiekcie.

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

Parametry

hDC
Dojście do kontekstu urządzenia dla nowego urządzenia docelowego.

lLineWidth
Szerokość linii do użycia do formatowania.

dc
CDC dla nowego urządzenia docelowego.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Jeśli ta funkcja zakończy się pomyślnie, kontrolka edycji wzbogaconej jest właścicielem kontekstu urządzenia przekazanego jako parametr. W takim przypadku funkcja wywołująca nie powinna zniszczyć kontekstu urządzenia.

Aby uzyskać więcej informacji, zobacz EM_SETTARGETDEVICE w zestawie Windows SDK.

Przykład

// 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();
}

CRichEditCtrl::SetTextMode

Ustawia tryb tekstowy lub cofnij i wykonaj ponownie poziom dla kontrolki edycji sformatowanej.

BOOL SetTextMode(UINT fMode);

Parametry

fMode
Określa nowe ustawienia dla trybu tekstowego kontrolki i cofanie parametrów poziomu. Aby uzyskać listę możliwych wartości, zobacz parametr mode dla EM_SETTEXTMODE elementu w zestawie Windows SDK.

Wartość zwracana

Zero, jeśli się powiedzie, w przeciwnym razie niezero.

Uwagi

Opis trybów tekstu można znaleźć EM_SETTEXTMODE w zestawie Windows SDK.

Ta funkcja składowa kończy się niepowodzeniem, jeśli kontrolka zawiera tekst. Aby upewnić się, że kontrolka jest pusta, wyślij WM_SETTEXT komunikat z pustym ciągiem.

CRichEditCtrl::SetUndoLimit

Ustawia maksymalną liczbę akcji, które mogą być przechowywane w kolejce cofania.

UINT SetUndoLimit(UINT nLimit);

Parametry

nLimit
Określa maksymalną liczbę akcji, które można przechowywać w kolejce cofania. Ustaw wartość zero, aby wyłączyć cofanie.

Wartość zwracana

Nowa maksymalna liczba akcji cofania dla kontrolki edycji wzbogaconej.

Uwagi

Domyślnie maksymalna liczba akcji w kolejce cofania wynosi 100. Jeśli zwiększysz tę liczbę, musi być wystarczająca ilość dostępnej pamięci, aby pomieścić nową liczbę. Aby uzyskać lepszą wydajność, ustaw limit na najmniejszą możliwą wartość.

CRichEditCtrl::SetWordCharFormat

Ustawia atrybuty formatowania znaków dla aktualnie wybranego wyrazu w tym CRichEditCtrl obiekcie.

BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);

Parametry

cf
W pierwszej wersji wskaźnik do CHARFORMAT struktury zawierającej nowe atrybuty formatowania znaków dla aktualnie wybranego wyrazu.

W drugiej wersji wskaźnik do CHARFORMAT2 struktury, który jest rozszerzeniem Rich Edit 2.0 do CHARFORMAT struktury, zawierającym nowe atrybuty formatowania znaków dla aktualnie wybranego wyrazu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.

Uwagi

Tylko atrybuty określone przez dwMask element członkowski cf są zmieniane przez tę funkcję.

Aby uzyskać więcej informacji, zobacz EM_SETCHARFORMAT komunikat i CHARFORMATCHARFORMAT2 struktury w zestawie WINDOWS SDK.

Przykład

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);

CRichEditCtrl::SetWordWrapMode

Ustawia opcje zawijania wyrazów i podziału wyrazów dla kontrolki edycji wzbogaconej.

UINT SetWordWrapMode(UINT uFlags) const;

Parametry

uFlags
Opcje ustawiania dla zawijania wyrazów i przerywania wyrazów. Aby uzyskać listę możliwych opcji, zobacz EM_SETWORDWRAPMODE w zestawie Windows SDK.

Wartość zwracana

Bieżące opcje zawijania wyrazów i podziału wyrazów.

Uwagi

Ten komunikat jest dostępny tylko w azjatyckich wersjach systemu operacyjnego.

CRichEditCtrl::StopGroupTyping

Uniemożliwia kontrolce zbieranie dodatkowych akcji wpisywania do bieżącej akcji cofania.

void StopGroupTyping();

Uwagi

Kontrolka przechowuje następną akcję wpisywania, jeśli istnieje, do nowej akcji w kolejce cofania.

Aby uzyskać więcej informacji, zobacz EM_STOPGROUPTYPING w zestawie Windows SDK.

CRichEditCtrl::StreamIn

Zamienia tekst w tym CRichEditCtrl obiekcie tekstem z określonego strumienia wejściowego.

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

Parametry

nFormat
Flagi określające formaty danych wejściowych. Zobacz sekcję Spostrzeżenia, aby uzyskać więcej informacji.

es
EDITSTREAM struktura określająca strumień wejściowy. Zobacz sekcję Spostrzeżenia, aby uzyskać więcej informacji.

Wartość zwracana

Liczba znaków odczytanych ze strumienia wejściowego.

Uwagi

Wartość nFormat musi być jedną z następujących wartości:

  • SF_TEXT Wskazuje tylko odczytywanie tekstu.

  • SF_RTF Wskazuje odczytywanie tekstu i formatowanie.

Jedną z tych wartości można połączyć z elementem SFF_SELECTION. Jeśli SFF_SELECTION zostanie określony, StreamIn zastąpi bieżące zaznaczenie zawartością strumienia wejściowego. Jeśli nie zostanie określony, StreamIn zastępuje całą zawartość tego CRichEditCtrl obiektu.

W parametrze EDITSTREAMesnależy określić funkcję wywołania zwrotnego, która wypełnia bufor tekstem. Ta funkcja wywołania zwrotnego jest wywoływana wielokrotnie do momentu wyczerpania strumienia wejściowego.

Aby uzyskać więcej informacji, zobacz EM_STREAMIN komunikat i EDITSTREAM struktura w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::StreamOut

Zapisuje zawartość tego CRichEditCtrl obiektu do określonego strumienia wyjściowego.

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

Parametry

nFormat
Flagi określające formaty danych wyjściowych. Zobacz sekcję Spostrzeżenia, aby uzyskać więcej informacji.

es
EDITSTREAM struktura określająca strumień wyjściowy. Zobacz sekcję Spostrzeżenia, aby uzyskać więcej informacji.

Wartość zwracana

Liczba znaków zapisanych w strumieniu wyjściowym.

Uwagi

Wartość nFormat musi być jedną z następujących wartości:

  • SF_TEXT Wskazuje tylko pisanie tekstu.

  • SF_RTF Wskazuje pisanie tekstu i formatowania.

  • SF_RTFNOOBJS Wskazuje pisanie tekstu i formatowania, zastępując elementy OLE spacjami.

  • SF_TEXTIZED Wskazuje pisanie tekstu i formatowania z tekstowymi reprezentacjami elementów OLE.

Dowolne z tych wartości można połączyć z SFF_SELECTION. Jeśli SFF_SELECTION zostanie określony, StreamOut zapisuje bieżące zaznaczenie do strumienia wyjściowego. Jeśli nie zostanie określony, StreamOut zapisuje całą zawartość tego CRichEditCtrl obiektu.

W parametrze EDITSTREAMesnależy określić funkcję wywołania zwrotnego, która wypełnia bufor tekstem. Ta funkcja wywołania zwrotnego jest wywoływana wielokrotnie, dopóki strumień wyjściowy nie zostanie wyczerpany.

Aby uzyskać więcej informacji, zobacz EM_STREAMOUT komunikat i EDITSTREAM struktura w zestawie Windows SDK.

Przykład

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

CRichEditCtrl::Undo

Cofa ostatnią operację w kontrolce edycji wzbogaconej.

BOOL Undo();

Wartość zwracana

Nonzero, jeśli operacja cofania zakończyła się pomyślnie; w przeciwnym razie, 0.

Uwagi

Można również cofnąć operację cofania. Możesz na przykład przywrócić usunięty tekst przy użyciu pierwszego wywołania metody Undo. Tak długo, jak nie ma interweniowania operacji edycji, możesz usunąć tekst ponownie za pomocą drugiego wywołania metody Undo.

Aby uzyskać więcej informacji, zobacz EM_UNDO w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CanUndo.

Zobacz też

Przykładowy program WORDPAD MFC
CWnd Klasa
Wykres hierarchii
CEdit Klasa
CRichEditView Klasa