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í CRichEditCtrl
najdete 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
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_NCCREATE
prvku pro úpravy zprávu , WM_NCCALCSIZE
WM_CREATE
, a WM_GETMINMAXINFO
zprávy.
Tyto zprávy jsou zpracovávány ve výchozím nastavení OnNcCreate
pomocí , OnNcCalcSize
, OnCreate
a 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 pParentWnd
klienta .
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 FALSE
se 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ímicpMin
členycpMax
k vrácení hranic.GetSel(
nStartChar
,nEndChar
) Tento formulář vrátí hranice v parametrechnStartChar
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ůchlpBuf
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 dwFlags
nekompatibilní 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 Create
souboru .
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 TRUE
je tato možnost povolená. Pokud FALSE
je 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 TRUE
tato 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 parametremdwFlags
.ECOOP_AND
Zachovejte pouze ty aktuální možnosti, které jsou určenydwFlags
také .ECOOP_XOR
Logicky se vylučují nebo aktuální možnosti s možnostmi určenými parametremdwFlags
.
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áteECO_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ímicpMin
členycpMax
k nastavení hranic.SetSel(
nStartChar
,nEndChar
) Tento formulář používá parametrynStartChar
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
es
zadá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
es
zadá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