CRichEditCtrl
Klasa
Udostępnia funkcje kontrolki edycji wzbogaconej.
class CRichEditCtrl : public CWnd
Nazwa/nazwisko | opis |
---|---|
CRichEditCtrl::CRichEditCtrl |
CRichEditCtrl Tworzy obiekt. |
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. |
"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.
Przestroga
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 .
CRichEditCtrl
Nagłówek: afxcmn.h
Określa, czy kontrolka edycji wzbogaconej może wkleić określony format Schowka.
BOOL CanPaste(UINT nFormat = 0) const;
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
.
Niezero, jeśli można wkleić format Schowka; w przeciwnym razie 0.
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.
// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
m_myRichEditCtrl.Paste();
}
Określa, czy kolejka ponownego wykonania zawiera jakiekolwiek akcje.
BOOL CanRedo() const;
Niezero, jeśli kolejka ponownego wykonania zawiera akcje, w przeciwnym razie 0.
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.
Określa, czy można cofnąć ostatnią operację edycji.
BOOL CanUndo() const;
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ąć.
Aby uzyskać więcej informacji, zobacz EM_CANUNDO
w zestawie Windows SDK.
// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
m_myRichEditCtrl.Undo();
Pobiera informacje o znaku w punkcie określonym przez parametr pt
.
int CharFromPos(CPoint pt) const;
pt
CPoint
Obiekt zawierający współrzędne określonego punktu.
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.
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.
Usuwa (czyści) bieżące zaznaczenie (jeśli istnieje) w kontrolce edycji wzbogaconej.
void Clear();
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.
// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();
Kopiuje bieżące zaznaczenie (jeśli istnieje) w kontrolce edycji wzbogaconej do Schowka.
void Copy();
Aby uzyskać więcej informacji, zobacz WM_COPY
w zestawie Windows SDK.
// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();
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);
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.
Inicjalizacja niezerowa, jeśli inicjowanie zakończyło się pomyślnie; w przeciwnym razie, 0.
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.
m_myRichEditCtrl.Create(
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);
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);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.
Create
Zamiast CreateEx
stosować rozszerzone style systemu Windows określone w rozszerzonym prefiksie WS_EX_
stylu systemu Windows.
CRichEditCtrl
Tworzy obiekt.
CRichEditCtrl();
Służy Create
do konstruowania kontrolki edycji wzbogaconej w systemie Windows.
// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;
// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;
Usuń (wycina) bieżące zaznaczenie (jeśli istnieje) w kontrolce edycji sformatowanej i kopiuje usunięty tekst do Schowka.
void Cut();
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.
// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();
Wyświetla część zawartości kontrolki edycji sformatowanej (tekst i elementy OLE) zgodnie z wcześniejszym formatowaniem według FormatRange
.
BOOL DisplayBand(LPRECT pDisplayRect);
pDisplayRect
Wskaźnik do RECT
obiektu lub CRect
określający obszar urządzenia w celu wyświetlenia tekstu.
Nonzero, jeśli wyświetlanie sformatowanego tekstu powiedzie się, w przeciwnym razie 0.
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.
Zobacz przykład dla elementu CRichEditCtrl::FormatRange
.
Resetuje (wyczyść) flagę cofania tej wzbogaconej kontrolki edycji.
void EmptyUndoBuffer();
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.
// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
m_myRichEditCtrl.EmptyUndoBuffer();
ASSERT(!m_myRichEditCtrl.CanUndo());
}
Znajduje tekst w kontrolce edycji sformatowanej.
long FindText(
DWORD dwFlags,
FINDTEXTEX* pFindText) const;
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.
Położenie następnego dopasowania opartego na znakach zerowych; - 1, jeśli nie ma więcej dopasowań.
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.
// 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);
Znajduje następny podział wyrazów przed lub po pozycji określonej przez nStart
.
DWORD FindWordBreak(
UINT nCode,
DWORD nStart) const;
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ąć.
Na podstawie parametru nCode
. Aby uzyskać więcej informacji, zobacz EM_FINDWORDBREAK
w zestawie Windows SDK.
Za pomocą tej funkcji składowej można pobrać informacje o znaku na danej pozycji.
Formatuje zakres tekstu w kontrolce edycji sformatowanej dla określonego urządzenia.
long FormatRange(
FORMATRANGE* pfr,
BOOL bDisplay = TRUE);
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.
Indeks ostatniego znaku pasujący do regionu i jeden.
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.
// 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();
}
Pobiera pozycję (lewy górny róg) danego znaku w tym CRichEditCtrl
obiekcie.
CPoint GetCharPos(long lChar) const;
lChar
Indeks znaku oparty na wartości zerowej.
Lokalizacja lewego górnego rogu znaku określonego przez lChar
.
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.
Pobiera domyślne atrybuty formatowania znaków tego CRichEditCtrl
obiektu.
DWORD GetDefaultCharFormat(CHARFORMAT& cf) const; DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;
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.
Element dwMask
członkowski danych programu cf
. Określono domyślne atrybuty formatowania znaków.
Aby uzyskać więcej informacji, zobacz EM_GETCHARFORMAT
komunikat i CHARFORMAT
CHARFORMAT2
struktury w zestawie WINDOWS SDK.
Zobacz przykład dla elementu SetDefaultCharFormat
.
Pobiera maskę zdarzeń dla tego CRichEditCtrl
obiektu.
long GetEventMask() const;
Maska zdarzeń dla tego CRichEditCtrl
obiektu.
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.
Zobacz przykład dla elementu CRichEditCtrl::SetEventMask
.
Określa najbardziej widoczną linię w tym CRichEditCtrl
obiekcie.
int GetFirstVisibleLine() const;
Indeks oparty na zera najbardziej widocznej górnej linii w tym CRichEditCtrl
obiekcie.
Aby uzyskać więcej informacji, zobacz EM_GETFIRSTVISIBLELINE
w zestawie Windows SDK.
int nFirstVisible = m_myRichEditCtrl.GetFirstVisibleLine();
// Scroll the rich edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
m_myRichEditCtrl.LineScroll(-nFirstVisible, 0);
}
Uzyskuje dostęp do interfejsu IRichEditOle
dla tego CRichEditCtrl
obiektu.
IRichEditOle* GetIRichEditOle() const;
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.
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.
Pobiera limit tekstu dla tego CRichEditCtrl
obiektu.
long GetLimitText() const;
Bieżący limit tekstu w bajtach dla tego CRichEditCtrl
obiektu.
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.
// 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);
Pobiera wiersz tekstu z tego CRichEditCtrl
obiektu.
int GetLine(
int nIndex,
LPTSTR lpszBuffer) const;
int GetLine(
int nIndex,
LPTSTR lpszBuffer,
int nMaxLength) const;
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
.
Liczba znaków skopiowanych do lpszBuffer
pliku .
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.
Zobacz przykład dla elementu GetLineCount
.
Pobiera liczbę wierszy w CRichEditCtrl
obiekcie.
int GetLineCount() const;
Liczba wierszy w tym CRichEditCtrl
obiekcie.
Aby uzyskać więcej informacji, zobacz EM_GETLINECOUNT
w zestawie Windows SDK.
int nLineLength, nLineIndex, nLineCount = m_myRichEditCtrl.GetLineCount();
CString strText, strLine;
// Dump every line of text of the rich edit control.
for (int i = 0; i < nLineCount; i++)
{
nLineIndex = m_myRichEditCtrl.LineIndex(i);
nLineLength = m_myRichEditCtrl.LineLength(nLineIndex);
m_myRichEditCtrl.GetLine(i, strText.GetBufferSetLength(nLineLength + 1),
nLineLength);
strText.SetAt(nLineLength, _T('\0')); // null terminate
strText.ReleaseBuffer(nLineLength + 1);
TRACE(_T("line %d: '%s'\r\n"), i, strText);
}
Określa, czy zawartość tego CRichEditCtrl
obiektu została zmodyfikowana.
BOOL GetModify() const;
Nonzero, jeśli tekst w tym CRichEditCtrl
obiekcie został zmodyfikowany; w przeciwnym razie 0.
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.
// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
m_myRichEditCtrl.SetModify(FALSE);
Pobiera obecnie opcje ustawione dla kontrolki edycji wzbogaconej.
UINT GetOptions() const;
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.
Pobiera atrybuty formatowania akapitu bieżącego zaznaczenia.
DWORD GetParaFormat(PARAFORMAT& pf) const; DWORD GetParaFormat(PARAFORMAT2& pf) const;
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.
Element dwMask
członkowski danych programu pf
. Określa atrybuty formatowania akapitu, które są spójne w całym bieżącym zaznaczeniu.
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.
Zobacz przykład dla elementu CRichEditCtrl::SetParaFormat
.
Pobiera bieżące znaki interpunkcyjne w kontrolce edycji wzbogaconej.
BOOL GetPunctuation(
UINT fType,
PUNCTUATION* lpPunc) const;
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.
Nonzero, jeśli operacja zakończyła się pomyślnie, w przeciwnym razie 0.
Ta funkcja składowa jest dostępna tylko z azjatyckimi wersjami systemu operacyjnego.
Pobiera prostokąt formatowania dla tego CRichEditCtrl
obiektu.
void GetRect(LPRECT lpRect) const;
lpRect
CRect
lub wskaźnik do RECT
odbierania prostokąta formatowania tego CRichEditCtrl
obiektu.
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.
Zobacz przykład dla elementu LimitText
.
Pobiera typ następnej dostępnej akcji w kolejce ponownej, jeśli istnieje.
UNDONAMEID GetRedoName() const;
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.
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.
Pobiera granice bieżącego zaznaczenia w tym CRichEditCtrl
obiekcie.
void GetSel(CHARRANGE& cr) const;
void GetSel(
long& nStartChar,
long& nEndChar) const;
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.
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.
// Set the selection to be all characters after the current selection.
long nStartChar, nEndChar;
m_myRichEditCtrl.GetSel(nStartChar, nEndChar);
m_myRichEditCtrl.SetSel(nEndChar, -1);
Pobiera atrybuty formatowania znaków bieżącego zaznaczenia.
DWORD GetSelectionCharFormat(CHARFORMAT& cf) const; DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;
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.
Element dwMask
członkowski danych programu cf
. Określa atrybuty formatowania znaków, które są spójne w bieżącym zaznaczeniu.
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.
Zobacz przykład dla elementu SetSelectionCharFormat
.
Określa typ wyboru w tym CRichEditCtrl
obiekcie.
WORD GetSelectionType() const;
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.
Aby uzyskać więcej informacji, zobacz EM_SELECTIONTYPE
w zestawie Windows SDK.
// Dump the selection text only if it contains at least one text character.
if (m_myRichEditCtrl.GetSelectionType() & (SEL_TEXT | SEL_MULTICHAR))
{
CString strText = m_myRichEditCtrl.GetSelText();
TRACE(_T("selection text is '%s'.\r\n"), strText);
}
Pobiera tekst z bieżącego zaznaczenia w tym CRichEditCtrl
obiekcie.
long GetSelText(LPSTR lpBuf) const; CString GetSelText() const;
lpBuf
Wskaźnik do buforu w celu odebrania tekstu w bieżącym zaznaczeniu.
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.
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.
Zobacz przykład dla elementu CRichEditCtrl::GetSelectionType
.
Pobiera długość tekstu w znakach w tym CRichEditCtrl
obiekcie, a nie zawiera znaku null zakończenia.
long GetTextLength() const;
Długość tekstu w tym CRichEditCtrl
obiekcie.
Aby uzyskać więcej informacji, zobacz WM_GETTEXTLENGTH
w zestawie Windows SDK.
// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());
Oblicza długość tekstu w kontrolce edycji sformatowanej.
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
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).
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
.
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.
Pobiera bieżący tryb tekstowy i cofa poziom kontrolki edycji sformatowanej.
UINT GetTextMode() const;
Zestaw flag bitowych z typu wyliczenia, zgodnie z TEXTMODE
opisem w zestawie Windows SDK. Flagi wskazują bieżący tryb tekstowy i cofanie poziomu kontrolki.
Pobiera określony zakres znaków.
int GetTextRange(
int nFirst,
int nLast,
CString& refString) const;
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.
Liczba skopiowanych znaków, a nie łącznie z znakiem null zakończenia.
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.
Pobiera typ następnej dostępnej akcji w kolejce cofania, jeśli istnieje.
UNDONAMEID GetUndoName() const;
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.
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ąć.
Pobiera bieżące opcje zawijania wyrazów i podziału wyrazów dla kontrolki edycji wzbogaconej.
UINT GetWordWrapMode() const;
Bieżące opcje zawijania wyrazów i podziału wyrazów. Te opcje opisano w EM_SETWORDWRAPMODE
zestawie Windows SDK.
Ta funkcja składowa jest dostępna tylko dla wersji azjatyckich systemu operacyjnego.
Zmienia widoczność zaznaczenia.
void HideSelection(
BOOL bHide,
BOOL bPerm);
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.
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.
// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);
Ogranicza długość tekstu, który użytkownik może wprowadzić w kontrolce edycji.
void LimitText(long nChars = 0);
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.
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.
// 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);
Pobiera numer wiersza, który zawiera określony indeks znaków.
long LineFromChar(long nIndex) const;
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.
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.
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.
// 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));
Pobiera indeks znaków wiersza w tym CRichEditCtrl
obiekcie.
int LineIndex(int nLine = -1) const;
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.
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.
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.
// 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);
}
Pobiera długość wiersza w kontrolce edycji wzbogaconej.
int LineLength(int nLine = -1) const;
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.
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.
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.
Zobacz przykład dla elementu LineIndex
.
Przewija tekst kontrolki edycji wielowierszowej.
void LineScroll(
int nLines,
int nChars = 0);
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
.
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.
Zobacz przykład dla elementu GetFirstVisibleLine
.
Wstawia dane ze Schowka do CRichEditCtrl
punktu wstawiania, lokalizację karetki.
void Paste();
Dane są wstawiane tylko wtedy, gdy Schowek zawiera dane w rozpoznanym formacie.
Aby uzyskać więcej informacji, zobacz WM_PASTE
w zestawie Windows SDK.
// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();
Wkleja dane w określonym formacie Schowka do tego CRichEditCtrl
obiektu.
void PasteSpecial(
UINT nClipFormat,
DWORD dvAspect = 0,
HMETAFILE hMF = 0);
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.
Nowy materiał jest wstawiany w punkcie wstawiania, w miejscu karetki.
Aby uzyskać więcej informacji, zobacz EM_PASTESPECIAL
w zestawie Windows SDK.
// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);
Pobiera współrzędne obszaru klienta określonego znaku w kontrolce edycji.
CPoint PosFromChar(UINT nChar) const;
nChar
Indeks zerowy znaku.
Położenie znaku (x, y). W przypadku kontrolki edycji jednowierszowej współrzędna y jest zawsze równa zero.
Aby uzyskać więcej informacji, zobacz EM_POSFROMCHAR
w zestawie Windows SDK.
Ponownie wykonuje następną akcję w kolejce ponownego wykonania kontrolki.
BOOL Redo();
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
Aby uzyskać więcej informacji, zobacz EM_REDO
w zestawie Windows SDK.
Zamienia bieżące zaznaczenie w tym CRichEditCtrl
obiekcie na określony tekst.
void ReplaceSel(
LPCTSTR lpszNewText,
BOOL bCanUndo = FALSE);
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
.
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.
Zobacz przykład dla elementu LineIndex
.
Wymusza wysłanie EN_REQUESTRESIZE
komunikatów powiadomień do okna nadrzędnego tego CRichEditCtrl
obiektu.
void RequestResize();
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).
Ustawia kontrolkę edycji wzbogaconej w celu automatycznego wykrywania adresu URL.
BOOL SetAutoURLDetect(BOOL bEnable = TRUE);
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.
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.
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.
Ustawia kolor tła dla tego CRichEditCtrl
obiektu.
COLORREF SetBackgroundColor(
BOOL bSysColor,
COLORREF cr);
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
.
Poprzedni kolor tła dla tego CRichEditCtrl
obiektu.
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.
// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));
Ustawia atrybuty formatowania znaków dla nowego tekstu w tym CRichEditCtrl
obiekcie.
BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
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);
Ustawia maskę zdarzeń dla tego CRichEditCtrl
obiektu.
DWORD SetEventMask(DWORD dwEventMask);
dwEventMask
Nowa maska zdarzeń dla tego CRichEditCtrl
obiektu.
Poprzednia maska zdarzeń.
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.
// 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);
Ustawia lub czyści zmodyfikowaną flagę kontrolki edycji.
void SetModify(BOOL bModified = TRUE);
bModified
Wartość TRUE
wskazuje, że tekst został zmodyfikowany, a wartość FALSE
wskazuje, że jest niezmodyfikowany. Domyślnie jest ustawiona zmodyfikowana flaga.
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.
Zobacz przykład dla elementu GetModify
.
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);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
Ustawia opcje dla tego CRichEditCtrl
obiektu.
void SetOptions(
WORD wOp,
DWORD dwFlags);
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.
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.
// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
ECO_AUTOHSCROLL);
Ustawia atrybuty formatowania akapitu dla bieżącego zaznaczenia w tym CRichEditCtrl
obiekcie.
BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
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);
Ustawia interpunkcję w kontrolce edycji wzbogaconej.
BOOL SetPunctuation(
UINT fType,
PUNCTUATION* lpPunc);
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.
Jeśli operacja niezerowa zakończyła się powodzeniem, w przeciwnym razie 0.
Ta funkcja składowa jest dostępna tylko dla wersji azjatyckich systemu operacyjnego.
ECO_READONLY
Zmienia opcję dla tego CRichEditCtrl
obiektu.
BOOL SetReadOnly(BOOL bReadOnly = TRUE);
bReadOnly
Wskazuje, czy ten CRichEditCtrl
obiekt powinien być tylko do odczytu.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);
Ustawia prostokąt formatowania dla tego CRichEditCtrl
obiektu.
void SetRect(LPCRECT lpRect);
lpRect
CRect
lub wskaźnik do RECT
, który wskazuje nowe granice dla prostokąta formatowania.
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.
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);
}
Ustawia zaznaczenie w tym CRichEditCtrl
obiekcie.
void SetSel(
long nStartChar,
long nEndChar);
void SetSel(CHARRANGE& cr);
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.
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.
Zobacz przykład dla elementu GetSel
.
Ustawia atrybuty formatowania znaków dla tekstu w bieżącym zaznaczeniu w tym CRichEditCtrl
obiekcie.
BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
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);
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);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
// 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();
}
Ustawia tryb tekstowy lub cofnij i wykonaj ponownie poziom dla kontrolki edycji sformatowanej.
BOOL SetTextMode(UINT fMode);
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.
Zero, jeśli się powiedzie, w przeciwnym razie niezero.
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.
Ustawia maksymalną liczbę akcji, które mogą być przechowywane w kolejce cofania.
UINT SetUndoLimit(UINT nLimit);
nLimit
Określa maksymalną liczbę akcji, które można przechowywać w kolejce cofania. Ustaw wartość zero, aby wyłączyć cofanie.
Nowa maksymalna liczba akcji cofania dla kontrolki edycji wzbogaconej.
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ść.
Ustawia atrybuty formatowania znaków dla aktualnie wybranego wyrazu w tym CRichEditCtrl
obiekcie.
BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);
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.
Bezzerowe, jeśli się powiedzie; w przeciwnym razie, 0.
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.
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);
Ustawia opcje zawijania wyrazów i podziału wyrazów dla kontrolki edycji wzbogaconej.
UINT SetWordWrapMode(UINT uFlags) const;
uFlags
Opcje ustawiania dla zawijania wyrazów i przerywania wyrazów. Aby uzyskać listę możliwych opcji, zobacz EM_SETWORDWRAPMODE
w zestawie Windows SDK.
Bieżące opcje zawijania wyrazów i podziału wyrazów.
Ten komunikat jest dostępny tylko w azjatyckich wersjach systemu operacyjnego.
Uniemożliwia kontrolce zbieranie dodatkowych akcji wpisywania do bieżącej akcji cofania.
void StopGroupTyping();
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.
Zamienia tekst w tym CRichEditCtrl
obiekcie tekstem z określonego strumienia wejściowego.
long StreamIn(
int nFormat,
EDITSTREAM& es);
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.
Liczba znaków odczytanych ze strumienia wejściowego.
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.
// 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);
Zapisuje zawartość tego CRichEditCtrl
obiektu do określonego strumienia wyjściowego.
long StreamOut(
int nFormat,
EDITSTREAM& es);
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.
Liczba znaków zapisanych w strumieniu wyjściowym.
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.
// 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);
Cofa ostatnią operację w kontrolce edycji wzbogaconej.
BOOL Undo();
Nonzero, jeśli operacja cofania zakończyła się pomyślnie; w przeciwnym razie, 0.
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.
Zobacz przykład dla elementu CanUndo
.
Przykładowy program WORDPAD MFC
CWnd
Klasa
Wykres hierarchii
CEdit
Klasa
CRichEditView
Klasa