CRichEditCtrl
Klasa
Udostępnia funkcje kontrolki edycji wzbogaconej.
Składnia
class CRichEditCtrl : public CWnd
Elementy członkowskie
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
CRichEditCtrl
Wymagania
Nagłówek: 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ę CRichEditCtrl
Create
, 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ę AfxInitRichEdit
globalną , 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_NCCREATE
komunikaty , WM_NCCALCSIZE
, WM_CREATE
i WM_GETMINMAXINFO
do kontrolki edycji.
Te komunikaty są domyślnie obsługiwane przez OnNcCreate
funkcje składowe , OnNcCalcSize
, OnCreate
i OnGetMinMaxInfo
w klasie bazowej CWnd
. Aby rozszerzyć domyślną obsługę komunikatów, utwórz klasę z CRichEditCtrl
klasy , dodaj mapę komunikatów do nowej klasy i przesłoń powyższe funkcje składowe programu obsługi komunikatów. Zastąpij OnCreate
na 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 pParentWnd
klienta .
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ę SetWindowText
skł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 FALSE
tekst 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 CHARFORMAT
CHARFORMAT2
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 lpszBuffer
pliku .
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 PARAFORMAT
PARAFORMAT2
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 fType
EM_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żywaCHARRANGE
struktury ze swoimicpMin
elementami icpMax
do zwracania granic.GetSel(
nStartChar
,nEndChar
) Ten formularz zwraca granice w parametrachnStartChar
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 CHARFORMAT
CHARFORMAT2
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 dolpBuf
elementu , 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 dwFlags
niezgodne 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 TRUE
wartość , 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 CWnd
pliku . 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 TRUE
wartość . Domyślna wartość 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 SetSel
ReplaceSel
znaku 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 TRUE
parametr jest włączony. Jeśli FALSE
parametr 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 CHARFORMAT
CHARFORMAT2
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 przezdwFlags
.ECOOP_OR
Połącz bieżące opcje z opcjami określonymi przezdwFlags
.ECOOP_AND
Zachowaj tylko te bieżące opcje, które są również określone przezdwFlags
.ECOOP_XOR
Logicznie wyklucza lub bieżące opcje z tymi określonymi przezdwFlags
.
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 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 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śliszECO_NOHIDESEL
wartość , 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 ENTER podczas wprowadzania tekstu do kontrolki edycji sformatowanej w wielu wierszach w oknie dialogowym. Jeśli nie określisz tego stylu, naciśnięcie 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 PARAFORMAT
PARAFORMAT2
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żywaCHARRANGE
struktury ze swoimicpMin
elementami icpMax
do ustawiania granic.SetSel(
nStartChar
,nEndChar
) Ten formularz używa parametrównStartChar
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 CHARFORMAT2
CHARFORMAT
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 CHARFORMAT
CHARFORMAT2
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 EDITSTREAM
es
należ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 EDITSTREAM
es
należ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