Sdílet prostřednictvím


CRichEditCtrl Třída

Poskytuje funkce ovládacího prvku pro úpravy s formátem.

Syntaxe

class CRichEditCtrl : public CWnd

Členové

Veřejné konstruktory

Název Popis
CRichEditCtrl::CRichEditCtrl CRichEditCtrl Vytvoří objekt.

Veřejné metody

Název Popis
CRichEditCtrl::CanPaste Určuje, zda lze obsah schránky vložit do tohoto ovládacího prvku pro úpravy s formátovaným obsahem.
CRichEditCtrl::CanRedo Určuje, jestli ve frontě ovládacího prvku pro opakování existují nějaké akce.
CRichEditCtrl::CanUndo Určuje, zda lze operaci úprav vrátit zpět.
CRichEditCtrl::CharFromPos Načte informace o znaku nejblíže zadanému bodu v klientské oblasti ovládacího prvku pro úpravy.
CRichEditCtrl::Clear Vymaže aktuální výběr.
CRichEditCtrl::Copy Zkopíruje aktuální výběr do schránky.
CRichEditCtrl::Create Vytvoří ovládací prvek pro úpravy s formátem Windows a přidruží ho k tomuto CRichEditCtrl objektu.
CRichEditCtrl::CreateEx Vytvoří ovládací prvek pro úpravy s formátem Windows se zadanými rozšířenými styly Windows a přidruží ho k tomuto CRichEditCtrl objektu.
CRichEditCtrl::Cut Vyjme aktuální výběr do schránky.
CRichEditCtrl::DisplayBand Zobrazí část obsahu tohoto CRichEditCtrl objektu.
CRichEditCtrl::EmptyUndoBuffer Obnoví (vymaže) příznak zpět tohoto CRichEditCtrl objektu.
CRichEditCtrl::FindText Vyhledá text v rámci tohoto CRichEditCtrl objektu.
CRichEditCtrl::FindWordBreak Najde další konec slova před nebo za zadanou pozicí znaku nebo načte informace o znaku na dané pozici.
CRichEditCtrl::FormatRange Formátuje rozsah textu cílového výstupního zařízení.
CRichEditCtrl::GetCharPos Určuje umístění daného znaku v rámci tohoto CRichEditCtrl objektu.
CRichEditCtrl::GetDefaultCharFormat Načte aktuální výchozí atributy formátování znaků v tomto CRichEditCtrl objektu.
CRichEditCtrl::GetEventMask Načte masku události pro tento CRichEditCtrl objekt.
CRichEditCtrl::GetFirstVisibleLine Určuje nejvíce viditelný řádek v tomto CRichEditCtrl objektu.
CRichEditCtrl::GetIRichEditOle Načte ukazatel na IRichEditOle rozhraní pro tento ovládací prvek pro úpravy s formátem.
CRichEditCtrl::GetLimitText Získá limit množství textu, který uživatel může zadat do tohoto CRichEditCtrl objektu.
CRichEditCtrl::GetLine Načte řádek textu z tohoto CRichEditCtrl objektu.
CRichEditCtrl::GetLineCount Načte počet řádků v tomto CRichEditCtrl objektu.
CRichEditCtrl::GetModify Určuje, zda se obsah tohoto CRichEditCtrl objektu od posledního uložení změnil.
CRichEditCtrl::GetOptions Načte možnosti ovládacího prvku pro úpravy s formátováním.
CRichEditCtrl::GetParaFormat Načte atributy formátování odstavce v aktuálním výběru tohoto CRichEditCtrl objektu.
CRichEditCtrl::GetPunctuation Načte aktuální interpunkční znaky pro ovládací prvek pro úpravy s formátem. Tato zpráva je k dispozici pouze v asijských jazykových verzích operačního systému.
CRichEditCtrl::GetRect Načte obdélník formátování pro tento CRichEditCtrl objekt.
CRichEditCtrl::GetRedoName Načte typ další akce( pokud existuje) ve frontě opakování ovládacího prvku.
CRichEditCtrl::GetSel Získá počáteční a koncové pozice aktuálního výběru v tomto CRichEditCtrl objektu.
CRichEditCtrl::GetSelectionCharFormat Načte atributy formátování znaků v aktuálním výběru tohoto CRichEditCtrl objektu.
CRichEditCtrl::GetSelectionType Načte typ obsahu v aktuálním výběru v tomto CRichEditCtrl objektu.
CRichEditCtrl::GetSelText Získá text aktuálního výběru v tomto CRichEditCtrl objektu.
CRichEditCtrl::GetTextLength Načte délku textu v tomto CRichEditCtrl objektu ve znacích. Neobsahuje ukončující znak null.
CRichEditCtrl::GetTextLengthEx Načte počet znaků nebo bajtů v zobrazení pro úpravy s formátem. Přijme seznam příznaků, které označují metodu určení délky textu v ovládacím prvku pro úpravy s formátováním.
CRichEditCtrl::GetTextMode Načte aktuální textový režim a vrátí zpět úroveň ovládacího prvku pro úpravy s formátováním.
CRichEditCtrl::GetTextRange Načte zadaný rozsah textu.
CRichEditCtrl::GetUndoName Načte typ další akce vrácení zpět( pokud existuje).
CRichEditCtrl::GetWordWrapMode Načte aktuální možnosti zalamování slov a zásadních slov pro ovládací prvek pro úpravy s formátováním. Tato zpráva je k dispozici pouze v asijských jazykových verzích operačního systému.
CRichEditCtrl::HideSelection Zobrazí nebo skryje aktuální výběr.
CRichEditCtrl::LimitText Omezuje množství textu, který může uživatel zadat do objektu CRichEditCtrl .
CRichEditCtrl::LineFromChar Určuje, který řádek obsahuje daný znak.
CRichEditCtrl::LineIndex Načte index znaků daného řádku v tomto CRichEditCtrl objektu.
CRichEditCtrl::LineLength Načte délku daného řádku v tomto CRichEditCtrl objektu.
CRichEditCtrl::LineScroll Posune text v tomto CRichEditCtrl objektu.
CRichEditCtrl::Paste Vloží obsah schránky do tohoto ovládacího prvku pro úpravy s formátem.
CRichEditCtrl::PasteSpecial Vloží obsah schránky do tohoto ovládacího prvku pro úpravy s formátováním v zadaném formátu dat.
CRichEditCtrl::PosFromChar Načte souřadnice oblasti klienta zadaného znaku v ovládacím prvku pro úpravy.
CRichEditCtrl::Redo Znovu provede další akci ve frontě opakování ovládacího prvku.
CRichEditCtrl::ReplaceSel Nahradí aktuální výběr v tomto CRichEditCtrl objektu zadaným textem.
CRichEditCtrl::RequestResize Vynutí, aby tento CRichEditCtrl objekt odeslal oznámení o změně velikosti žádosti.
CRichEditCtrl::SetAutoURLDetect Označuje, jestli je detekce automatických adres URL aktivní v ovládacím prvku pro úpravy s bohatým formátem.
CRichEditCtrl::SetBackgroundColor Nastaví barvu pozadí v tomto CRichEditCtrl objektu.
CRichEditCtrl::SetDefaultCharFormat Nastaví aktuální výchozí atributy formátování znaků v tomto CRichEditCtrl objektu.
CRichEditCtrl::SetEventMask Nastaví masku události pro tento CRichEditCtrl objekt.
CRichEditCtrl::SetModify Nastaví nebo vymaže příznak změny pro tento CRichEditCtrl objekt.
CRichEditCtrl::SetOLECallback IRichEditOleCallback Nastaví objekt COM pro tento ovládací prvek pro úpravy s formátem.
CRichEditCtrl::SetOptions Nastaví možnosti pro tento CRichEditCtrl objekt.
CRichEditCtrl::SetParaFormat Nastaví atributy formátování odstavce v aktuálním výběru tohoto CRichEditCtrl objektu.
CRichEditCtrl::SetPunctuation Nastaví interpunkční znaky pro ovládací prvek pro úpravy s formátem. Tato zpráva je k dispozici pouze v asijských jazykových verzích operačního systému.
CRichEditCtrl::SetReadOnly Nastaví možnost jen pro čtení pro tento CRichEditCtrl objekt.
CRichEditCtrl::SetRect Nastaví obdélník formátování pro tento CRichEditCtrl objekt.
CRichEditCtrl::SetSel Nastaví výběr v tomto CRichEditCtrl objektu.
CRichEditCtrl::SetSelectionCharFormat Nastaví atributy formátování znaků v aktuálním výběru v tomto CRichEditCtrl objektu.
CRichEditCtrl::SetTargetDevice Nastaví cílové výstupní zařízení pro tento CRichEditCtrl objekt.
CRichEditCtrl::SetTextMode Nastaví textový režim nebo vrátí zpět úroveň ovládacího prvku pro úpravy s formátováním. Zpráva selže, pokud ovládací prvek obsahuje text.
CRichEditCtrl::SetUndoLimit Nastaví maximální počet akcí, které mohou být uloženy ve frontě pro vrácení zpět.
CRichEditCtrl::SetWordCharFormat Nastaví atributy formátování znaků v aktuálním slově v tomto CRichEditCtrl objektu.
CRichEditCtrl::SetWordWrapMode Nastaví možnosti zalamování slov a dělení slov pro ovládací prvek pro úpravy s formátováním. Tato zpráva je k dispozici pouze v asijských jazykových verzích operačního systému.
CRichEditCtrl::StopGroupTyping Zastaví ovládací prvek v shromažďování dalších akcí psaní do aktuální akce vrácení zpět. Ovládací prvek uloží další typovací akci (pokud existuje) do nové akce ve frontě pro vrácení zpět.
CRichEditCtrl::StreamIn Vloží text ze vstupního datového proudu do tohoto CRichEditCtrl objektu.
CRichEditCtrl::StreamOut Ukládá text z tohoto CRichEditCtrl objektu do výstupního datového proudu.
CRichEditCtrl::Undo Vrátí zpět poslední operaci úprav.

Poznámky

"Ovládací prvek pro úpravy s formátováním" je okno, ve kterém může uživatel zadat a upravit text. Text může mít přiřazené formátování znaků a odstavců a může obsahovat vložené objekty OLE. Ovládací prvky pro úpravy s formátováním poskytují programovací rozhraní pro formátování textu. Aplikace však musí implementovat všechny součásti uživatelského rozhraní nezbytné k tomu, aby byly pro uživatele k dispozici operace formátování.

Tento běžný ovládací prvek systému Windows (a proto CRichEditCtrl třída) je k dispozici pouze pro programy spuštěné v systému Windows 95/98 a systém Windows NT verze 3.51 a novější. Třída CRichEditCtrl podporuje verze 2.0 a 3.0 ovládacího prvku pro úpravy sady Windows SDK.

Upozornění

Pokud v dialogovém okně používáte ovládací prvek pro úpravy s bohatým formátem (bez ohledu na to, jestli je aplikace založená na SDI, MDI nebo dialogu), musíte před zobrazením dialogového okna volat AfxInitRichEdit jednou. Typickým místem pro volání této funkce je členská funkce programu InitInstance . Při každém zobrazení dialogového okna ho nemusíte volat, pouze při prvním zobrazení. Nemusíte volat AfxInitRichEdit , pokud pracujete s CRichEditView.

Další informace o použití CRichEditCtrlnajdete tady:

Příklad použití ovládacího prvku pro úpravy s formátem v aplikaci MFC naleznete v ukázkové aplikaci WORDPAD .

Hierarchie dědičnosti

CObject

CCmdTarget

CWnd

CRichEditCtrl

Požadavky

Záhlaví: afxcmn.h

CRichEditCtrl::CanPaste

Určuje, zda ovládací prvek pro úpravy s formátováním může vložit zadaný formát schránky.

BOOL CanPaste(UINT nFormat = 0) const;

Parametry

nFormat
Formát dat schránky, který se má dotazovat. Tento parametr může být jedním z předdefinovaných formátů schránky nebo hodnotou vrácenou RegisterClipboardFormat.

Návratová hodnota

Nenulové, pokud lze vložit formát schránky; jinak 0.

Poznámky

Pokud nFormat je hodnota 0, CanPaste zkusí se ve schránce aktuálně použít libovolný formát.

Další informace naleznete v tématu EM_CANPASTE zprávy a RegisterClipboardFormat funkce v sadě Windows SDK.

Příklad

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

CRichEditCtrl::CanRedo

Určuje, jestli fronta opakování obsahuje nějaké akce.

BOOL CanRedo() const;

Návratová hodnota

Nenulové, pokud fronta opakování obsahuje akce, jinak 0.

Poznámky

Pokud chcete zjistit název operace ve frontě opakování, zavolejte CRichEditCtrl::GetRedoName. Pokud chcete provést znovu poslední operaci Zpět, zavolejte Redo.

Další informace najdete EM_CANREDO v sadě Windows SDK.

CRichEditCtrl::CanUndo

Určuje, jestli lze poslední operaci úprav vrátit zpět.

BOOL CanUndo() const;

Návratová hodnota

Nenulové, pokud poslední operaci úprav lze vrátit zpět voláním Undo členské funkce; 0, pokud ji nelze vrátit zpět.

Poznámky

Další informace najdete EM_CANUNDO v sadě Windows SDK.

Příklad

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

CRichEditCtrl::CharFromPos

Načte informace o znaku v bodě určeném parametrem pt.

int CharFromPos(CPoint pt) const;

Parametry

pt
Objekt CPoint obsahující souřadnice zadaného bodu.

Návratová hodnota

Index znaků založený na nule znaku nejbližšího zadaného bodu. Pokud zadaný bod přesahuje poslední znak ovládacího prvku, návratová hodnota označuje poslední znak ovládacího prvku.

Poznámky

Tato členová funkce funguje s ovládacím prvku pro úpravy s bohatým formátem. Chcete-li získat informace pro ovládací prvek pro úpravy, volání CEdit::CharFromPos.

Další informace najdete EM_CHARFROMPOS v sadě Windows SDK.

CRichEditCtrl::Clear

Odstraní (vymaže) aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy s formátem.

void Clear();

Poznámky

Odstranění provedené Clear pomocí volání Undo členské funkce lze vrátit zpět.

Pokud chcete odstranit aktuální výběr a umístit odstraněný obsah do schránky, zavolejte členovou Cut funkci.

Další informace najdete WM_CLEAR v sadě Windows SDK.

Příklad

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

CRichEditCtrl::Copy

Zkopíruje aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy s formátem do schránky.

void Copy();

Poznámky

Další informace najdete WM_COPY v sadě Windows SDK.

Příklad

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

CRichEditCtrl::Create

Vytvoří ovládací prvek pro úpravy s formátem Windows a přidruží ho k tomuto CRichEditCtrl objektu.

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

Parametry

dwStyle
Určuje styl ovládacího prvku pro úpravy. Použijte kombinaci stylů oken uvedených v části Poznámky níže a upravte styly ovládacích prvků popsané v sadě Windows SDK.

rect
Určuje velikost a umístění ovládacího prvku pro úpravy. Může to být CRect objekt nebo RECT struktura.

pParentWnd
Určuje nadřazené okno ovládacího prvku pro úpravy (často i CDialog). Nesmí to být NULL.

nID
Určuje ID ovládacího prvku pro úpravy.

Návratová hodnota

Nenulové, pokud je inicializace úspěšná; jinak, 0.

Poznámky

Objekt vytvoříte CRichEditCtrl ve dvou krocích. Nejprve zavolejte CRichEditCtrl konstruktor a potom volání Create, který vytvoří ovládací prvek pro úpravy Systému Windows a připojí ho k objektu CRichEditCtrl .

Při vytváření ovládacího prvku pro úpravy s formátem pomocí této funkce musíte nejprve načíst potřebnou knihovnu běžných ovládacích prvků. Pokud chcete načíst knihovnu, zavolejte globální funkci AfxInitRichEdit, která pak inicializuje knihovnu běžných ovládacích prvků. V procesu je potřeba volat AfxInitRichEdit pouze jednou.

Při Create spuštění systém Windows odešle ovládacímu WM_NCCREATEprvku pro úpravy zprávu , WM_NCCALCSIZEWM_CREATE, a WM_GETMINMAXINFO zprávy.

Tyto zprávy jsou zpracovávány ve výchozím nastavení OnNcCreatepomocí , OnNcCalcSize, OnCreatea OnGetMinMaxInfo členské funkce v CWnd základní třídě. Chcete-li rozšířit výchozí zpracování zpráv, odvodit třídu z CRichEditCtrl, přidat mapu zprávy do nové třídy a přepsat výše uvedené členské funkce obslužné rutiny zprávy. Přepsat OnCreate, například provést potřebné inicializace pro novou třídu.

U ovládacího prvku pro úpravy použijte následující styly oken.

  • WS_CHILD Vždy.

  • WS_VISIBLE Obvykle.

  • WS_DISABLED Zřídka.

  • WS_GROUP Seskupení ovládacích prvků

  • WS_TABSTOP Chcete-li zahrnout ovládací prvek pro úpravy v pořadí ovládacích prvků tabbing.

Další informace o stylech oken najdete CreateWindow v sadě Windows SDK.

Příklad

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

CRichEditCtrl::CreateEx

Vytvoří ovládací prvek (podřízené okno) a přidruží ho k objektu CRichEditCtrl .

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

Parametry

dwExStyle
Určuje rozšířený styl vytvářeného ovládacího prvku. Seznam rozšířených stylů Windows najdete v parametru dwExStyle sady CreateWindowEx Windows SDK.

dwStyle
Určuje styl ovládacího prvku pro úpravy. Použijte kombinaci stylů oken uvedených v části Poznámky a upravte styly ovládacích Create prvků popsané v sadě Windows SDK.

rect
Odkaz na RECT strukturu popisující velikost a umístění okna, které se má vytvořit, v souřadnicích pParentWndklienta .

pParentWnd
Ukazatel na okno, které je nadřazeným objektem ovládacího prvku.

nID
ID podřízeného okna ovládacího prvku.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Create Místo CreateEx použití rozšířených stylů Windows určených předmětu WS_EX_rozšířeného stylu Windows .

CRichEditCtrl::CRichEditCtrl

CRichEditCtrl Vytvoří objekt.

CRichEditCtrl();

Poznámky

Slouží Create k vytvoření ovládacího prvku pro úpravy s formátem Windows.

Příklad

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

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

CRichEditCtrl::Cut

Odstraňte (vyjme) aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy s formátováním a zkopírujte odstraněný text do schránky.

void Cut();

Poznámky

Odstranění provedené Cut pomocí volání Undo členské funkce lze vrátit zpět.

Pokud chcete odstranit aktuální výběr bez umístění odstraněného textu do schránky, zavolejte členovou Clear funkci.

Další informace najdete WM_CUT v sadě Windows SDK.

Příklad

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

CRichEditCtrl::DisplayBand

Zobrazí část obsahu ovládacího prvku pro úpravy s formátováním (text a položky OLE), jak byl dříve formátován FormatRange.

BOOL DisplayBand(LPRECT pDisplayRect);

Parametry

pDisplayRect
Ukazatel na RECT nebo CRect objekt určující oblast zařízení pro zobrazení textu.

Návratová hodnota

Nenulové, pokud je zobrazení formátovaného textu úspěšné, jinak 0.

Poznámky

Text a položky OLE jsou oříznuty do oblasti určené ukazatelem pDisplayRect.

Další informace najdete EM_DISPLAYBAND v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CRichEditCtrl::FormatRange.

CRichEditCtrl::EmptyUndoBuffer

Obnoví (vymaže) příznak zpět tohoto ovládacího prvku pro úpravy s formátováním.

void EmptyUndoBuffer();

Poznámky

Ovládací prvek teď nebude moct vrátit zpět poslední operaci úprav. Příznak zpět se nastaví vždy, když se dá vrátit zpět operace v ovládacím prvku pro úpravy s formátováním.

Příznak zpět se automaticky vymaže při každém volání CWnd členské funkce SetWindowText.

Další informace najdete EM_EMPTYUNDOBUFFER v sadě Windows SDK.

Příklad

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

CRichEditCtrl::FindText

Najde text v ovládacím prvku pro úpravy s formátováním.

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

Parametry

dwFlags
Seznam možných hodnot najdete wParam v EM_FINDTEXTEXT sadě Windows SDK.

pFindText
Ukazatel na FINDTEXTEX strukturu poskytující parametry pro hledání a vrácení oblasti, ve které byla nalezena shoda.

Návratová hodnota

Pozice znaku založeného na nule další shody; - 1, pokud už nejsou žádné shody.

Poznámky

Můžete hledat nahoru nebo dolů nastavením správných parametrů rozsahu CHARRANGE ve struktuře v rámci FINDTEXTEX struktury.

Další informace naleznete v tématu EM_FINDTEXTEX zprávy a FINDTEXTEX struktury v sadě Windows SDK.

Příklad

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

Najde další konec slova před nebo za pozicí určenou znakem nStart.

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

Parametry

nCode
Označuje akci, která se má provést. Seznam možných hodnot najdete v popisu parametru code v EM_FINDWORDBREAK sadě Windows SDK.

nStart
Pozice znaku založeného na nule, od které se má začít.

Návratová hodnota

Na základě parametru nCode. Další informace najdete EM_FINDWORDBREAK v sadě Windows SDK.

Poznámky

Tuto členovou funkci můžete použít k načtení informací o znaku na dané pozici.

CRichEditCtrl::FormatRange

Formátuje rozsah textu v ovládacím prvku pro úpravy s formátováním pro konkrétní zařízení.

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

Parametry

pfr
Ukazatel na FORMATRANGE strukturu, která obsahuje informace o výstupním zařízení. NULL označuje, že informace uložené v mezipaměti v rámci ovládacího prvku pro úpravy s formátovaným obsahem lze uvolnit.

bDisplay
Určuje, jestli se má text vykreslit. Pokud FALSEse text právě měří.

Návratová hodnota

Index posledního znaku, který se vejde do oblasti plus jeden znak.

Poznámky

Za tímto voláním obvykle následuje volání DisplayBand.

Další informace naleznete v tématu EM_FORMATRANGE zprávy a FORMATRANGE struktury v sadě Windows SDK.

Příklad

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

Získá pozici (levý horní roh) daného znaku v tomto CRichEditCtrl objektu.

CPoint GetCharPos(long lChar) const;

Parametry

lChar
Index znaku založený na nule.

Návratová hodnota

Umístění levého horního rohu znaku určeného znakem lChar.

Poznámky

Znak je určen zadáním hodnoty indexu založeného na nule. Pokud lChar je větší než index posledního znaku v tomto CRichEditCtrl objektu, návratová hodnota určuje souřadnice pozice znaku těsně za posledním znakem v tomto CRichEditCtrl objektu.

Další informace najdete EM_POSFROMCHAR v sadě Windows SDK.

CRichEditCtrl::GetDefaultCharFormat

Získá výchozí atributy formátování znaků tohoto CRichEditCtrl objektu.

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

Parametry

cf
V první verzi je ukazatel na CHARFORMAT strukturu, která drží výchozí atributy formátování znaků.

Ve druhé verzi je ukazatel na CHARFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury CHARFORMAT , které drží výchozí atributy formátování znaků.

Návratová hodnota

Datový dwMask člen cf. Zadal výchozí atributy formátování znaků.

Poznámky

Další informace najdete ve EM_GETCHARFORMAT zprávě a CHARFORMAT CHARFORMAT2 strukturách v sadě Windows SDK.

Příklad

Podívejte se na příklad pro SetDefaultCharFormat.

CRichEditCtrl::GetEventMask

Získá masku události pro tento CRichEditCtrl objekt.

long GetEventMask() const;

Návratová hodnota

Maska události pro tento CRichEditCtrl objekt.

Poznámky

Maska události určuje, které zprávy s oznámením CRichEditCtrl objekt odesílá do nadřazeného okna.

Další informace najdete EM_GETEVENTMASK v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CRichEditCtrl::SetEventMask.

CRichEditCtrl::GetFirstVisibleLine

Určuje nejvíce viditelný řádek v tomto CRichEditCtrl objektu.

int GetFirstVisibleLine() const;

Návratová hodnota

Index založený na nule horního viditelného řádku v tomto CRichEditCtrl objektu.

Poznámky

Další informace najdete EM_GETFIRSTVISIBLELINE v sadě Windows SDK.

Příklad

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

Přistupuje k IRichEditOle rozhraní pro tento CRichEditCtrl objekt.

IRichEditOle* GetIRichEditOle() const;

Návratová hodnota

Ukazatel na IRichEditOle rozhraní, které lze použít pro přístup k funkci OLE tohoto CRichEditCtrl objektu; NULL pokud rozhraní není přístupné.

Poznámky

Toto rozhraní použijte pro přístup k funkcím OLE tohoto CRichEditCtrl objektu.

Další informace naleznete v tématu EM_GETOLEINTERFACE zprávy a IRichEditOle rozhraní v sadě Windows SDK.

CRichEditCtrl::GetLimitText

Získá omezení textu pro tento CRichEditCtrl objekt.

long GetLimitText() const;

Návratová hodnota

Aktuální omezení textu v bajtech pro tento CRichEditCtrl objekt.

Poznámky

Limit textu je maximální množství textu, v bajtech, ovládací prvek pro úpravy s formátováním může přijmout.

Další informace najdete EM_GETLIMITTEXT v sadě Windows SDK.

Příklad

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

Načte řádek textu z tohoto CRichEditCtrl objektu.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

Parametry

nIndex
Index řádku založený na nule, který se má načíst.

lpszBuffer
Odkazuje na vyrovnávací paměť pro příjem textu. První slovo vyrovnávací paměti musí určovat maximální počet bajtů, které lze zkopírovat do vyrovnávací paměti.

nMaxLength
Maximální počet znaků, které lze zkopírovat do lpszBuffer. Druhá forma GetLine umístí tuto hodnotu do prvního slova vyrovnávací paměti určené .lpszBuffer

Návratová hodnota

Počet znaků zkopírovaných do lpszBuffer.

Poznámky

Zkopírovaný řádek neobsahuje ukončující znak null.

Poznámka:

Protože první slovo vyrovnávací paměti ukládá počet znaků, které se mají zkopírovat, ujistěte se, že je vyrovnávací paměť alespoň 4 bajty dlouhá.

Další informace najdete EM_GETLINE v sadě Windows SDK.

Příklad

Podívejte se na příklad pro GetLineCount.

CRichEditCtrl::GetLineCount

Načte počet řádků v objektu CRichEditCtrl .

int GetLineCount() const;

Návratová hodnota

Počet řádků v tomto CRichEditCtrl objektu.

Poznámky

Další informace najdete EM_GETLINECOUNT v sadě Windows SDK.

Příklad

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

Určuje, zda byl obsah tohoto CRichEditCtrl objektu změněn.

BOOL GetModify() const;

Návratová hodnota

Nenulové, pokud byl text v tomto CRichEditCtrl objektu změněn; jinak 0.

Poznámky

Systém Windows udržuje interní příznak označující, jestli byl změněn obsah ovládacího prvku pro úpravy s formátem. Tento příznak se vymaže při prvním vytvoření ovládacího prvku pro úpravy a lze ho SetModify také vymazat voláním členské funkce.

Další informace najdete EM_GETMODIFY v sadě Windows SDK.

Příklad

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

CRichEditCtrl::GetOptions

Načte aktuálně nastavené možnosti pro ovládací prvek pro úpravy s formátováním.

UINT GetOptions() const;

Návratová hodnota

Kombinace hodnot příznaku aktuální možnosti Seznam těchto hodnot najdete fOptions v parametru EM_SETOPTIONS ve zprávě, jak je popsáno v sadě Windows SDK.

CRichEditCtrl::GetParaFormat

Získá atributy formátování odstavce aktuálního výběru.

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

Parametry

pf
V první verzi je ukazatel na PARAFORMAT strukturu, která bude obsahovat atributy formátování odstavce aktuálního výběru.

Ve druhé verzi je ukazatel na PARAFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury PARAFORMAT , které drží výchozí atributy formátování znaků.

Návratová hodnota

Datový dwMask člen pf. Určuje atributy formátování odstavce, které jsou konzistentní v rámci aktuálního výběru.

Poznámky

Pokud je vybráno více odstavců, pf obdrží atributy prvního vybraného odstavce. Vrácená hodnota určuje, které atributy jsou v rámci výběru konzistentní.

Další informace najdete ve EM_GETPARAFORMAT zprávě a PARAFORMAT PARAFORMAT2 strukturách v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CRichEditCtrl::SetParaFormat.

CRichEditCtrl::GetPunctuation

Získá aktuální interpunkční znaky v ovládacím prvku pro úpravy s formátem.

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

Parametry

fType
Příznak typu interpunkce, jak je popsáno v fType parametru EM_GETPUNCTUATION v sadě Windows SDK.

lpPunc
Ukazatel na PUNCTUATION strukturu, jak je popsáno v sadě Windows SDK.

Návratová hodnota

Nenulové, pokud operace proběhla úspěšně, jinak 0.

Poznámky

Tato členská funkce je dostupná pouze v asijských jazykových verzích operačního systému.

CRichEditCtrl::GetRect

Načte obdélník formátování pro tento CRichEditCtrl objekt.

void GetRect(LPRECT lpRect) const;

Parametry

lpRect
CRect nebo ukazatel myši na RECT přijetí formátování obdélníku tohoto CRichEditCtrl objektu.

Poznámky

Obdélník formátování je ohraničující obdélník textu. Tato hodnota je nezávislá na velikosti objektu CRichEditCtrl .

Další informace najdete EM_GETRECT v sadě Windows SDK.

Příklad

Podívejte se na příklad pro LimitText.

CRichEditCtrl::GetRedoName

Načte typ další dostupné akce ve frontě opakování( pokud existuje).

UNDONAMEID GetRedoName() const;

Návratová hodnota

V případě úspěchu GetRedoName vrátí typ výčtu UNDONAMEID označující typ další akce ve frontě opakování ovládacího prvku. Pokud je fronta znovu prázdná nebo pokud je akce opakování ve frontě neznámého typu, GetRedoName vrátí hodnotu 0.

Poznámky

Mezi typy akcí, které se dají vrátit zpět nebo znovu, patří operace psaní, odstranění, přetažení, vyjmutí a vložení. Tyto informace můžou být užitečné pro aplikace, které poskytují rozšířené uživatelské rozhraní pro operace Zpět a Znovu, například rozevírací seznam znovu použitelných akcí.

CRichEditCtrl::GetSel

Načte hranice aktuálního výběru v tomto CRichEditCtrl objektu.

void GetSel(CHARRANGE& cr) const;

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

Parametry

cr
Odkaz na CHARRANGE strukturu pro příjem hranic aktuálního výběru.

nStartChar
Index založený na nule prvního znaku v aktuálním výběru.

nEndChar
Index založený na nule posledního znaku v aktuálním výběru.

Poznámky

Dvě formy této funkce poskytují alternativní způsoby, jak získat hranice výběru. Stručný popis těchto formulářů:

  • GetSel( cr ) Tento formulář používá CHARRANGE strukturu s jejími cpMin členy cpMax k vrácení hranic.

  • GetSel( nStartChar , nEndChar ) Tento formulář vrátí hranice v parametrech nStartChar a .nEndChar

Výběr zahrnuje vše, pokud je začátek (cpMin nebo nStartChar) 0 a konec (cpMax nebo nEndChar) je - 1.

Další informace naleznete v tématu EM_EXGETSEL zprávy a CHARRANGE struktury v sadě Windows SDK.

Příklad

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

Získá atributy formátování znaků aktuálního výběru.

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

Parametry

cf
V první verzi ukazatel na CHARFORMAT strukturu pro příjem atributů formátování znaků aktuálního výběru.

Ve druhé verzi je ukazatel na CHARFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury CHARFORMAT pro příjem atributů formátování znaků aktuálního výběru.

Návratová hodnota

Datový dwMask člen cf. Určuje atributy formátování znaků, které jsou konzistentní v rámci aktuálního výběru.

Poznámky

Parametr cf obdrží atributy prvního znaku v aktuálním výběru. Vrácená hodnota určuje, které atributy jsou v rámci výběru konzistentní.

Další informace najdete ve EM_GETCHARFORMAT zprávě a CHARFORMAT CHARFORMAT2 strukturách v sadě Windows SDK.

Příklad

Podívejte se na příklad pro SetSelectionCharFormat.

CRichEditCtrl::GetSelectionType

Určuje typ výběru v tomto CRichEditCtrl objektu.

WORD GetSelectionType() const;

Návratová hodnota

Příznaky označující obsah aktuálního výběru. Kombinace následujících příznaků:

  • SEL_EMPTY Označuje, že neexistuje žádný aktuální výběr.

  • SEL_TEXT Označuje, že aktuální výběr obsahuje text.

  • SEL_OBJECT Označuje, že aktuální výběr obsahuje alespoň jednu položku OLE.

  • SEL_MULTICHAR Označuje, že aktuální výběr obsahuje více než jeden znak textu.

  • SEL_MULTIOBJECT Označuje, že aktuální výběr obsahuje více než jeden objekt OLE.

Poznámky

Další informace najdete EM_SELECTIONTYPE v sadě Windows SDK.

Příklad

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

Načte text z aktuálního výběru v tomto CRichEditCtrl objektu.

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

Parametry

lpBuf
Ukazatel na vyrovnávací paměť pro příjem textu v aktuálním výběru.

Návratová hodnota

Závisí na formuláři:

  • GetSelText(lpBuf)Početznakůch lpBuf

  • GetSelText( ) Řetězec obsahující aktuální výběr.

Poznámky

Pokud použijete první formulář, musíte zajistit, aby vyrovnávací paměť byla dostatečně velká pro text, GetSelText(lpBuf)který obdrží. Volání GetSel k určení počtu znaků v aktuálním výběru

Další informace najdete EM_GETSELTEXT v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CRichEditCtrl::GetSelectionType.

CRichEditCtrl::GetTextLength

Načte délku textu v znaky v tomto CRichEditCtrl objektu, a nezahrnuje ukončující znak null.

long GetTextLength() const;

Návratová hodnota

Délka textu v tomto CRichEditCtrl objektu.

Poznámky

Další informace najdete WM_GETTEXTLENGTH v sadě Windows SDK.

Příklad

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

CRichEditCtrl::GetTextLengthEx

Vypočítá délku textu v ovládacím prvku pro úpravy s formátováním.

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

Parametry

dwFlags
Hodnota určující metodu, která se má použít při určování délky textu. Tento člen může být jedna nebo více hodnot uvedených v příznakech popsaných GETTEXTLENGTHEX v sadě Windows SDK.

uCodePage
Znaková stránka pro překlad (CP_ACP pro znakovou stránku ANSI, 1200 pro Unicode).

Návratová hodnota

Počet znaků nebo bajtů v ovládacím prvku pro úpravy Pokud byly nastaveny dwFlagsnekompatibilní příznaky , vrátí tato členová funkce E_INVALIDARG.

Poznámky

GetTextLengthEx poskytuje další způsoby určení délky textu. Podporuje funkci Rich Edit 2.0. Další informace najdete v tématu o ovládacích prvcích pro úpravy s formátovanými možnostmi úprav v sadě Windows SDK.

CRichEditCtrl::GetTextMode

Načte aktuální textový režim a vrátí zpět úroveň ovládacího prvku pro úpravy s formátováním.

UINT GetTextMode() const;

Návratová hodnota

Sada bitových příznaků z typu výčtu TEXTMODE , jak je popsáno v sadě Windows SDK. Příznaky označují aktuální textový režim a vrátí zpět úroveň ovládacího prvku.

CRichEditCtrl::GetTextRange

Získá zadaný rozsah znaků.

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

Parametry

nFirst
Index pozice znaku bezprostředně před prvním znakem v oblasti.

nLast
Pozice znaku bezprostředně za posledním znakem v oblasti.

refString
Odkaz na CString objekt, který obdrží text.

Návratová hodnota

Počet zkopírovaných znaků, včetně ukončujícího znaku null.

Poznámky

Další informace najdete EM_GETTEXTRANGE v sadě Windows SDK.

GetTextRange podporuje funkci Rich Edit 2.0. Další informace najdete v tématu o ovládacích prvcích pro úpravy s formátovanými možnostmi úprav v sadě Windows SDK.

CRichEditCtrl::GetUndoName

Načte typ další dostupné akce ve frontě pro vrácení zpět( pokud existuje).

UNDONAMEID GetUndoName() const;

Návratová hodnota

Pokud je akce zpět ve frontě vrácení zpět ovládacího prvku, GetUndoName vrátí typ výčtu UNDONAMEID označující typ další akce ve frontě. Pokud je fronta zpět prázdná nebo pokud je akce zpět ve frontě neznámého typu, GetUndoName vrátí hodnotu 0.

Poznámky

Mezi typy akcí, které se dají vrátit zpět nebo znovu, patří operace psaní, odstranění, přetažení, vyjmutí a vložení. Tyto informace můžou být užitečné pro aplikace, které poskytují rozšířené uživatelské rozhraní pro operace Zpět a Znovu, například rozevírací seznam akcí, které lze vrátit zpět.

CRichEditCtrl::GetWordWrapMode

Načte aktuální možnosti zalamování slov a zásadních slov pro ovládací prvek pro úpravy s formátováním.

UINT GetWordWrapMode() const;

Návratová hodnota

Aktuální možnosti zalamování slov a dělení slov. Tyto možnosti jsou popsány v EM_SETWORDWRAPMODE sadě Windows SDK.

Poznámky

Tato členská funkce je dostupná pouze pro asijské jazykové verze operačního systému.

CRichEditCtrl::HideSelection

Změní viditelnost výběru.

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

Parametry

bHide
Označuje, zda má být výběr zobrazen nebo skrytý, TRUE chcete-li výběr skrýt.

bPerm
Označuje, jestli by tato změna viditelnosti pro výběr měla být trvalá.

Poznámky

Pokud bPerm je TRUE, změní ECO_NOHIDESEL možnost pro tento CRichEditCtrl objekt. Stručný popis této možnosti naleznete v tématu SetOptions. Tuto funkci můžete použít k nastavení všech možností pro tento CRichEditCtrl objekt.

Další informace najdete EM_HIDESELECTION v sadě Windows SDK.

Příklad

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

CRichEditCtrl::LimitText

Omezí délku textu, který může uživatel zadat do ovládacího prvku pro úpravy.

void LimitText(long nChars = 0);

Parametry

nChars
Určuje délku (v bajtech) textu, který může uživatel zadat. Pokud je tento parametr 0 (výchozí hodnota), je délka textu nastavená na 64 kB bajtů.

Poznámky

Změna limitu textu omezuje jenom text, který může uživatel zadat. Nemá žádný vliv na žádný text již v ovládacím prvku pro úpravy, ani nemá vliv na délku textu zkopírovaného do ovládacího prvku SetWindowText pro úpravy členské funkce v CWnd. Pokud aplikace používá SetWindowText funkci k umístění více textu do ovládacího prvku pro úpravy, než je uvedeno v volání LimitText, může uživatel odstranit libovolný text v ovládacím prvku pro úpravy. Omezení textu ale zabrání uživateli nahradit stávající text novým textem, pokud odstranění aktuálního výběru způsobí, že text klesne pod limit textu.

Poznámka:

Pro omezení textu se každá položka OLE počítá jako jeden znak.

Další informace najdete EM_EXLIMITTEXT v sadě Windows SDK.

Příklad

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

Načte číslo řádku řádku, který obsahuje zadaný index znaků.

long LineFromChar(long nIndex) const;

Parametry

nIndex
Obsahuje hodnotu indexu založenou na nule pro požadovaný znak v textu ovládacího prvku pro úpravy nebo obsahuje -1. Pokud nIndex je -1, určuje aktuální čáru, tj. čáru, která obsahuje stříšku.

Návratová hodnota

Číslo řádku založeného na nule obsahující znakový index určený znakem nIndex. Pokud nIndex je -1, vrátí se číslo řádku, který obsahuje první znak výběru. Pokud neexistuje žádný výběr, vrátí se číslo aktuálního řádku.

Poznámky

Index znaků je počet znaků od začátku ovládacího prvku pro úpravy s formátováním. Pro počítání znaků se položka OLE počítá jako jeden znak.

Další informace najdete EM_EXLINEFROMCHAR v sadě Windows SDK.

Příklad

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

Načte index znaků řádku v rámci tohoto CRichEditCtrl objektu.

int LineIndex(int nLine = -1) const;

Parametry

nLine
Obsahuje hodnotu indexu požadovaného řádku v textu ovládacího prvku pro úpravy nebo obsahuje hodnotu -1. Pokud nLine je -1, určuje aktuální čáru, tj. čáru, která obsahuje stříšku.

Návratová hodnota

Znakový index řádku zadaného v nLine řádku nebo -1, pokud je zadané číslo řádku větší než počet řádků v ovládacím prvku pro úpravy.

Poznámky

Index znaků je počet znaků od začátku ovládacího prvku pro úpravy s formátováním na zadaný řádek.

Další informace najdete EM_LINEINDEX v sadě Windows SDK.

Příklad

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

Načte délku řádku v ovládacím prvku pro úpravy s formátem.

int LineLength(int nLine = -1) const;

Parametry

nLine
Určuje index znaků znaku na řádku, jehož délka se má načíst. Pokud je tento parametr -1, vrátí se délka aktuálního řádku (řádek, který obsahuje stříšku), a nezahrnuje délku žádného vybraného textu v řádku. Při LineLength zavolání ovládacího prvku pro úpravy s jedním řádkem se tento parametr ignoruje.

Návratová hodnota

Pokud LineLength je volána pro víceřádkovou úpravu ovládacího prvku, návratová hodnota je délka (v TCHAR) řádku určeného znakem nLine. Na konci řádku neobsahuje znak návratu na začátek řádku. Při LineLength zavolání ovládacího prvku pro úpravy s jedním řádkem je návratová hodnota délka (v TCHAR) textu v ovládacím prvku pro úpravy. Pokud nLine je větší než počet znaků v ovládacím prvku, je návratová hodnota nula.

Poznámky

LineIndex Pomocí členské funkce načtěte index znaků pro dané číslo řádku v rámci tohoto CRichEditCtrl objektu.

Další informace najdete EM_LINELENGTH v sadě Windows SDK.

Příklad

Podívejte se na příklad pro LineIndex.

CRichEditCtrl::LineScroll

Posune text ovládacího prvku pro úpravy více řádků.

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

Parametry

nLines
Určuje počet řádků, které se mají posunout svisle.

nChars
Určuje počet pozic znaků, které se mají vodorovně posunout. Tato hodnota se ignoruje, pokud ovládací prvek pro úpravy s formátem má ES_RIGHT styl nebo ES_CENTER styl. Styly úprav jsou zadány v Createsouboru .

Poznámky

Ovládací prvek pro úpravy se nepřesouvají svisle za poslední řádek textu v ovládacím prvku pro úpravy. Pokud aktuální řádek plus počet řádků zadaných nLines celkovým počtem řádků v ovládacím prvku pro úpravy překročí, upraví se hodnota tak, aby se poslední řádek ovládacího prvku pro úpravy posoulal na začátek okna ovládacího prvku pro úpravy.

LineScroll lze použít k posouvání vodorovně za poslední znak libovolného řádku.

Další informace najdete EM_LINESCROLL v sadě Windows SDK.

Příklad

Podívejte se na příklad pro GetFirstVisibleLine.

CRichEditCtrl::Paste

Vloží data ze schránky do CRichEditCtrl místa vložení, umístění kurzoru.

void Paste();

Poznámky

Data se vloží jenom v případě, že schránka obsahuje data v rozpoznaném formátu.

Další informace najdete WM_PASTE v sadě Windows SDK.

Příklad

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

CRichEditCtrl::PasteSpecial

Vloží data do konkrétního formátu schránky do tohoto CRichEditCtrl objektu.

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

Parametry

nClipFormat
Do tohoto CRichEditCtrl objektu se vloží formát schránky.

dvAspect
Aspekt zařízení pro data, která se mají načíst ze schránky.

hMF
Popisovač metasouboru obsahující ikonický pohled na objekt, který se má vložit.

Poznámky

Nový materiál se vloží na pozici kurzoru, umístění kurzoru.

Další informace najdete EM_PASTESPECIAL v sadě Windows SDK.

Příklad

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

CRichEditCtrl::PosFromChar

Načte souřadnice oblasti klienta zadaného znaku v ovládacím prvku pro úpravy.

CPoint PosFromChar(UINT nChar) const;

Parametry

nChar
Index znaku založený na nule.

Návratová hodnota

Pozice znaku (x, y). U ovládacího prvku pro úpravy s jedním řádkem je souřadnice y vždy nulová.

Poznámky

Další informace najdete EM_POSFROMCHAR v sadě Windows SDK.

CRichEditCtrl::Redo

Znovu provede další akci ve frontě opakování ovládacího prvku.

BOOL Redo();

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Další informace najdete EM_REDO v sadě Windows SDK.

CRichEditCtrl::ReplaceSel

Nahradí aktuální výběr v tomto CRichEditCtrl objektu zadaným textem.

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

Parametry

lpszNewText
Ukazatel na řetězec ukončený hodnotou null obsahující náhradní text.

bCanUndo
Chcete-li určit, že tuto funkci lze vrátit zpět, nastavte hodnotu tohoto parametru na TRUE. Výchozí hodnota je FALSE.

Poznámky

Chcete-li nahradit veškerý text v tomto CRichEditCtrl objektu, použijte CWnd::SetWindowText.

Pokud neexistuje žádný aktuální výběr, vloží se náhradní text do místa vložení, tj. aktuálního umístění kurzoru.

Tato funkce naformátuje vložený text s existujícím formátováním znaků. Při nahrazení celého rozsahu textu (voláním SetSel(0,-1) před voláním ReplaceSel) existuje znak konce odstavce, který zachovává formátování předchozího odstavce, které zdědí nově vložený text.

Další informace najdete EM_REPLACESEL v sadě Windows SDK.

Příklad

Podívejte se na příklad pro LineIndex.

CRichEditCtrl::RequestResize

Vynutí, aby tento CRichEditCtrl objekt odeslal EN_REQUESTRESIZE zprávy oznámení do nadřazeného okna.

void RequestResize();

Poznámky

Tato funkce je užitečná při CWnd::OnSize zpracování bezpodného CRichEditCtrl objektu.

Další informace najdete ve EM_REQUESTRESIZE zprávě a v části Ovládací prvky s bezednou úpravou rtfů v části O ovládacích prvcích pro úpravy s formátem v sadě Windows SDK.

CRichEditCtrl::SetAutoURLDetect

Nastaví ovládací prvek pro úpravy s formátem tak, aby automaticky rozpoznal adresu URL.

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

Parametry

bEnable
Určuje, jestli je ovládací prvek nastavený tak, aby automaticky rozpoznal adresu URL. Pokud TRUEje tato možnost povolená. Pokud FALSEje tato možnost zakázaná.

Návratová hodnota

Nula v případě úspěchu, jinak nenulová. Zpráva může například selhat kvůli nedostatku paměti.

Poznámky

Pokud je tato možnost povolená, ovládací prvek pro úpravy s formátováním naskenuje text a určí, jestli odpovídá standardnímu formátu adresy URL. Seznam těchto formátů adres URL najdete EM_AUTOURLDETECT v sadě Windows SDK.

Poznámka:

Nenastavujte SetAutoURLDetect , TRUE pokud ovládací prvek pro úpravy používá CFE_LINK efekt pro jiný text než adresy URL. SetAutoURLDetect povolí tento efekt pro adresy URL a zakáže ho pro všechny ostatní texty. Další informace o efektu najdete v CFE_LINK EN_LINK.

CRichEditCtrl::SetBackgroundColor

Nastaví barvu pozadí pro tento CRichEditCtrl objekt.

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

Parametry

bSysColor
Určuje, jestli má být barva pozadí nastavená na systémovou hodnotu. Pokud je TRUEtato hodnota , cr bude ignorována.

cr
Požadovaná barva pozadí. Používá se pouze v případě, že bSysColor je FALSE.

Návratová hodnota

Předchozí barva pozadí pro tento CRichEditCtrl objekt.

Poznámky

Barvu pozadí lze nastavit na systémovou hodnotu nebo na zadanou COLORREF hodnotu.

Další informace naleznete v tématu EM_SETBKGNDCOLOR zprávy a COLORREF struktury v sadě Windows SDK.

Příklad

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

CRichEditCtrl::SetDefaultCharFormat

Nastaví atributy formátování znaků pro nový text v tomto CRichEditCtrl objektu.

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

Parametry

cf
V první verzi ukazatel na CHARFORMAT strukturu obsahující nové výchozí atributy formátování znaků.

Ve druhé verzi je ukazatel na CHARFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury CHARFORMAT obsahující výchozí atributy formátování znaků.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Touto funkcí se změní pouze atributy určené dwMask členem cf této funkce.

Další informace najdete ve EM_SETCHARFORMAT zprávě a CHARFORMAT CHARFORMAT2 strukturách v sadě Windows SDK.

Příklad

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

Nastaví masku události pro tento CRichEditCtrl objekt.

DWORD SetEventMask(DWORD dwEventMask);

Parametry

dwEventMask
Nová maska události pro tento CRichEditCtrl objekt.

Návratová hodnota

Předchozí maska události.

Poznámky

Maska události určuje, které zprávy s oznámením CRichEditCtrl objekt odesílá do nadřazeného okna.

Další informace najdete EM_SETEVENTMASK v sadě Windows SDK.

Příklad

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

Nastaví nebo vymaže upravený příznak pro ovládací prvek pro úpravy.

void SetModify(BOOL bModified = TRUE);

Parametry

bModified
Hodnota TRUE označuje, že text byl změněn, a hodnota FALSE indikuje, že je nezměněná. Ve výchozím nastavení je upravený příznak nastavený.

Poznámky

Upravený příznak označuje, zda byl text v ovládacím prvku pro úpravy změněn. Automaticky se nastaví pokaždé, když uživatel změní text. Její hodnotu lze načíst pomocí GetModify členské funkce.

Další informace najdete EM_SETMODIFY v sadě Windows SDK.

Příklad

Podívejte se na příklad pro GetModify.

CRichEditCtrl::SetOLECallback

Poskytuje tento CRichEditCtrl objekt objektu IRichEditOleCallback pro přístup k prostředkům a informacím souvisejícím s OLE.

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

Parametry

pCallback
Ukazatel na IRichEditOleCallback objekt, který tento CRichEditCtrl objekt použije k získání prostředků a informací souvisejících s OLE.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Tento CRichEditCtrl objekt bude volat IUnknown::AddRef zvýšení počtu využití objektu COM určeného objektem pCallback.

Další informace naleznete v tématu EM_SETOLECALLBACK zprávy a IRichEditOleCallback rozhraní v sadě Windows SDK.

CRichEditCtrl::SetOptions

Nastaví možnosti pro tento CRichEditCtrl objekt.

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

Parametry

wOp
Určuje typ operace. Jedna z následujících hodnot:

  • ECOOP_SET Nastavte možnosti na ty, které určí dwFlags.

  • ECOOP_OR Zkombinujte aktuální možnosti s možnostmi určenými parametrem dwFlags.

  • ECOOP_AND Zachovejte pouze ty aktuální možnosti, které jsou určeny dwFlagstaké .

  • ECOOP_XOR Logicky se vylučují nebo aktuální možnosti s možnostmi určenými parametrem dwFlags.

dwFlags
Možnosti pro úpravy s formátováním Hodnoty příznaku jsou uvedeny v části Poznámky.

Poznámky

Možnosti můžou být kombinací následujících hodnot:

  • ECO_AUTOWORDSELECTION Automatický výběr slova poklikání.

  • ECO_AUTOVSCROLL Automaticky posune text doprava o 10 znaků, když uživatel zadá znak na konec řádku. Když uživatel stiskne klávesu ENTER, ovládací prvek posune veškerý text zpět na pozici nula.

  • ECO_AUTOHSCROLL Automaticky posune text o jednu stránku nahoru, když uživatel stiskne klávesu ENTER na posledním řádku.

  • ECO_NOHIDESEL Neguje výchozí chování pro ovládací prvek pro úpravy. Výchozí chování skryje výběr, když ovládací prvek ztratí vstupní fokus a zobrazí výběr, když ovládací prvek přijme vstupní fokus. Pokud zadáte ECO_NOHIDESEL, vybraný text je invertován, i když ovládací prvek nemá fokus.

  • ECO_READONLY Zabrání uživateli v zadávání nebo úpravách textu v ovládacím prvku pro úpravy.

  • ECO_WANTRETURN Určuje, že návrat na začátek řádku se vloží, když uživatel stiskne klávesu ENTER při zadávání textu do ovládacího prvku pro úpravy s více řádky v dialogovém okně. Pokud tento styl nezadáte, stisknutím klávesy ENTER odešlete příkaz do nadřazeného okna ovládacího prvku pro úpravy s formátováním, který napodobuje kliknutí na výchozí tlačítko nadřazeného okna (například tlačítko OK v dialogovém okně). Tento styl nemá žádný vliv na ovládací prvek pro úpravy s jedním řádkem.

  • ECO_SAVESEL Zachová výběr, když ovládací prvek ztratí fokus. Ve výchozím nastavení se při opětovném získání fokusu vybere celý obsah ovládacího prvku.

  • ECO_VERTICAL Nakreslí text a objekty svislým směrem. K dispozici pouze pro asijské jazyky.

Další informace najdete EM_SETOPTIONS v sadě Windows SDK.

Příklad

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

CRichEditCtrl::SetParaFormat

Nastaví atributy formátování odstavce pro aktuální výběr v tomto CRichEditCtrl objektu.

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

Parametry

pf
V první verzi ukazatel na PARAFORMAT strukturu obsahující nové výchozí atributy formátování odstavce.

Ve druhé verzi je ukazatel na PARAFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury PARAFORMAT , které drží výchozí atributy formátování znaků.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Touto funkcí se změní pouze atributy určené dwMask členem pf této funkce.

Další informace najdete ve EM_SETPARAFORMAT zprávě a PARAFORMAT PARAFORMAT2 strukturách v sadě Windows SDK.

Příklad

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

Nastaví interpunkci v ovládacím prvku pro úpravy s formátem.

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

Parametry

fType
Interpunkční příznak. Seznam možných hodnot najdete v parametru fType sady EM_SETPUNCTUATION Windows SDK.

lpPunc
Ukazatel na PUNCTUATION strukturu, jak je popsáno v sadě Windows SDK.

Návratová hodnota

Nenulové, pokud je úspěšné, jinak 0.

Poznámky

Tato členská funkce je dostupná pouze pro asijské jazykové verze operačního systému.

CRichEditCtrl::SetReadOnly

ECO_READONLY Změní možnost pro tento CRichEditCtrl objekt.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Parametry

bReadOnly
Označuje, zda by tento CRichEditCtrl objekt měl být jen pro čtení.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Stručný popis této možnosti naleznete v tématu SetOptions. Tuto funkci můžete použít k nastavení všech možností pro tento CRichEditCtrl objekt.

Další informace najdete EM_SETREADONLY v sadě Windows SDK.

Příklad

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

CRichEditCtrl::SetRect

Nastaví obdélník formátování pro tento CRichEditCtrl objekt.

void SetRect(LPCRECT lpRect);

Parametry

lpRect
CRect nebo ukazatel na značku RECT označující nové hranice pro obdélník formátování.

Poznámky

Obdélník formátování je omezujícím obdélníkem textu. Omezující obdélník je nezávislý na velikosti okna ovládacího prvku pro úpravy s formátováním. Při prvním vytvoření tohoto CRichEditCtrl objektu má obdélník formátování stejnou velikost jako oblast klienta okna. Slouží SetRect k zvětšení nebo zmenšení obdélníku formátování než okno pro úpravy s formátováním.

Další informace najdete EM_SETRECT v sadě Windows SDK.

Příklad

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

Nastaví výběr v rámci tohoto CRichEditCtrl objektu.

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

Parametry

nStartChar
Index založený na nule prvního znaku pro výběr.

nEndChar
Index založený na nule posledního znaku pro výběr.

cr
CHARRANGE struktura, která obsahuje hranice aktuálního výběru.

Poznámky

Dvě formy této funkce poskytují alternativní způsoby, jak nastavit hranice výběru. Stručný popis těchto formulářů:

  • SetSel( cr ) Tento formulář používá CHARRANGE strukturu s jejími cpMin členy cpMax k nastavení hranic.

  • SetSel( nStartChar , nEndChar ) Tento formulář používá parametry nStartChar a nEndChar k nastavení hranic.

Kurzor se umístí na konec výběru označeného větší hodnotou počátečního (cpMin nebo nStartChar) a konce (cpMax nebo nEndChar) indexů. Tato funkce posune obsah CRichEditCtrl stříšku tak, aby byla viditelná.

Chcete-li vybrat veškerý text v tomto CRichEditCtrl objektu, zavolejte SetSel počáteční index 0 a koncový index - 1.

Další informace naleznete v tématu EM_EXSETSEL zprávy a CHARRANGE struktury v sadě Windows SDK.

Příklad

Podívejte se na příklad pro GetSel.

CRichEditCtrl::SetSelectionCharFormat

Nastaví atributy formátování znaků pro text v aktuálním výběru tohoto CRichEditCtrl objektu.

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

Parametry

cf
V první verzi ukazatel na CHARFORMAT strukturu obsahující atributy formátování nového znaku pro aktuální výběr.

Ve druhé verzi je ukazatel na CHARFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury CHARFORMAT obsahující nové atributy formátování znaků pro aktuální výběr.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Tuto funkci mění pouze atributy určené dwMask členem cf .

Další informace najdete v EM_SETCHARFORMAT tématu a CHARFORMAT CHARFORMAT2 struktury v sadě Windows SDK.

Příklad

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

Nastaví cílové zařízení a šířku čáry používané pro formátování WYSIWYG (co vidíte, je to, co získáte) v tomto CRichEditCtrl objektu.

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

Parametry

hDC
Zpracování kontextu zařízení pro nové cílové zařízení

lLineWidth
Šířka čáry, která se má použít pro formátování.

dc
CDC pro nové cílové zařízení.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Pokud je tato funkce úspěšná, ovládací prvek pro úpravy s formátem vlastní kontext zařízení předaný jako parametr. V takovém případě by volající funkce neměla zničit kontext zařízení.

Další informace najdete EM_SETTARGETDEVICE v sadě Windows SDK.

Příklad

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

Nastaví textový režim nebo vrátí zpět a znovu úroveň pro ovládací prvek pro úpravy s formátováním.

BOOL SetTextMode(UINT fMode);

Parametry

fMode
Určuje nová nastavení textového režimu ovládacího prvku a vrátí parametry na úrovni zpět. Seznam možných hodnot najdete v parametru režimu sady EM_SETTEXTMODE Windows SDK.

Návratová hodnota

Nula v případě úspěchu, jinak nenulová.

Poznámky

Popis textových režimů najdete EM_SETTEXTMODE v sadě Windows SDK.

Tato členová funkce selže, pokud ovládací prvek obsahuje text. Pokud chcete mít jistotu, že je ovládací prvek prázdný, odešlete WM_SETTEXT zprávu s prázdným řetězcem.

CRichEditCtrl::SetUndoLimit

Nastaví maximální počet akcí, které mohou být uloženy ve frontě pro vrácení zpět.

UINT SetUndoLimit(UINT nLimit);

Parametry

nLimit
Určuje maximální počet akcí, které lze uložit do fronty pro vrácení zpět. Chcete-li zakázat vrácení zpět, nastavte na nulu.

Návratová hodnota

Nový maximální počet akcí vrácení zpět pro ovládací prvek pro úpravy s formátováním.

Poznámky

Ve výchozím nastavení je maximální počet akcí ve frontě pro vrácení zpět 100. Pokud toto číslo zvýšíte, musí být k dispozici dostatek paměti pro nové číslo. Pokud chcete dosáhnout lepšího výkonu, nastavte limit na nejmenší možnou hodnotu.

CRichEditCtrl::SetWordCharFormat

Nastaví atributy formátování znaků pro aktuálně vybrané slovo v tomto CRichEditCtrl objektu.

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

Parametry

cf
V první verzi ukazatel na CHARFORMAT strukturu obsahující atributy formátování nového znaku pro aktuálně vybrané slovo.

Ve druhé verzi je ukazatel na CHARFORMAT2 strukturu, což je rozšíření Rich Edit 2.0 struktury CHARFORMAT obsahující nové atributy formátování znaků pro aktuálně vybrané slovo.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Touto funkcí se změní pouze atributy určené dwMask členem cf této funkce.

Další informace najdete ve EM_SETCHARFORMAT zprávě a CHARFORMAT CHARFORMAT2 strukturách v sadě Windows SDK.

Příklad

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

Nastaví možnosti zalamování slov a dělení slov pro ovládací prvek pro úpravy s formátováním.

UINT SetWordWrapMode(UINT uFlags) const;

Parametry

uFlags
Možnosti nastavení pro zalamování slov a dělení slov. Seznam možných možností najdete EM_SETWORDWRAPMODE v sadě Windows SDK.

Návratová hodnota

Aktuální možnosti zalamování slov a dělení slov.

Poznámky

Tato zpráva je k dispozici pouze v asijských jazykových verzích operačního systému.

CRichEditCtrl::StopGroupTyping

Zastaví ovládací prvek v shromažďování dalších akcí psaní do aktuální akce vrácení zpět.

void StopGroupTyping();

Poznámky

Ovládací prvek uloží další typovací akci (pokud existuje) do nové akce ve frontě pro vrácení zpět.

Další informace najdete EM_STOPGROUPTYPING v sadě Windows SDK.

CRichEditCtrl::StreamIn

Nahradí text v tomto CRichEditCtrl objektu textem ze zadaného vstupního datového proudu.

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

Parametry

nFormat
Příznaky určující vstupní formáty dat. Další informace naleznete v části Poznámky.

es
EDITSTREAM struktura určující vstupní datový proud. Další informace naleznete v části Poznámky.

Návratová hodnota

Počet znaků přečtených ze vstupního datového proudu

Poznámky

Hodnota nFormat musí být jedna z následujících hodnot:

  • SF_TEXT Označuje pouze čtení textu.

  • SF_RTF Označuje čtení textu a formátování.

Jednu z těchto hodnot lze kombinovat s SFF_SELECTION. Pokud SFF_SELECTION je zadán, StreamIn nahradí aktuální výběr obsahem vstupního datového proudu. Pokud není zadán, StreamIn nahradí celý obsah tohoto CRichEditCtrl objektu.

V parametru EDITSTREAM eszadáte funkci zpětného volání, která vyplní vyrovnávací paměť textem. Tato funkce zpětného volání se volá opakovaně, dokud se vstupní datový proud nevyčerpá.

Další informace naleznete v tématu EM_STREAMIN zprávy a EDITSTREAM struktury v sadě Windows SDK.

Příklad

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

Zapíše obsah tohoto CRichEditCtrl objektu do zadaného výstupního datového proudu.

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

Parametry

nFormat
Příznaky určující formáty výstupních dat. Další informace naleznete v části Poznámky.

es
EDITSTREAM struktura určující výstupní datový proud. Další informace naleznete v části Poznámky.

Návratová hodnota

Počet znaků zapsaných do výstupního datového proudu

Poznámky

Hodnota nFormat musí být jedna z následujících hodnot:

  • SF_TEXT Označuje pouze psaní textu.

  • SF_RTF Označuje psaní textu a formátování.

  • SF_RTFNOOBJS Označuje psaní textu a formátování a nahrazení položek OLE mezerami.

  • SF_TEXTIZED Označuje psaní textu a formátování s textovými reprezentacemi položek OLE.

Libovolnou z těchto hodnot lze kombinovat s SFF_SELECTION. Pokud SFF_SELECTION je zadán, StreamOut zapíše aktuální výběr do výstupního datového proudu. Pokud není zadán, StreamOut zapíše celý obsah tohoto CRichEditCtrl objektu.

V parametru EDITSTREAM eszadáte funkci zpětného volání, která vyplní vyrovnávací paměť textem. Tato funkce zpětného volání se volá opakovaně, dokud se výstupní datový proud nevyčerpá.

Další informace naleznete v tématu EM_STREAMOUT zprávy a EDITSTREAM struktury v sadě Windows SDK.

Příklad

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

Vrátí zpět poslední operaci v ovládacím prvku pro úpravy s formátováním.

BOOL Undo();

Návratová hodnota

Nenulové, pokud je operace vrácení zpět úspěšná; jinak, 0.

Poznámky

Operaci vrácení zpět lze také vrátit zpět. Odstraněný text můžete například obnovit při prvním volání Undo. Pokud neexistuje žádná operace úpravy, můžete text znovu odebrat s druhým voláním Undo.

Další informace najdete EM_UNDO v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CanUndo.

Viz také

MFC – ukázka WORDPADU
CWnd Třída
Graf hierarchie
CEdit Třída
CRichEditView Třída