Megosztás a következőn keresztül:


CRichEditCtrl osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A részletes szerkesztési vezérlő funkcióit biztosítja.

Szemantika

class CRichEditCtrl : public CWnd

Tagok

Nyilvános konstruktorok

Név Description
CRichEditCtrl::CRichEditCtrl Egy CRichEditCtrl objektumot hoz létre.

Nyilvános metódusok

Név Description
CRichEditCtrl::CanPaste Meghatározza, hogy a vágólap tartalma beilleszthető-e ebbe a gazdag szerkesztési vezérlőbe.
CRichEditCtrl::CanRedo Meghatározza, hogy vannak-e műveletek a vezérlő ismétlési üzenetsorában.
CRichEditCtrl::CanUndo Meghatározza, hogy visszavonható-e egy szerkesztési művelet.
CRichEditCtrl::CharFromPos Beolvassa a szerkesztési vezérlő ügyfélterületének egy adott ponthoz legközelebb eső karakterével kapcsolatos információkat.
CRichEditCtrl::Clear Törli az aktuális kijelölést.
CRichEditCtrl::Copy Másolja az aktuális kijelölést a vágólapra.
CRichEditCtrl::Create Létrehozza a Windows rich edit vezérlőt, és társítja az CRichEditCtrl objektumhoz.
CRichEditCtrl::CreateEx Létrehozza a Windows rich edit vezérlőt a megadott kiterjesztett Windows-stílusokkal, és társítja az CRichEditCtrl objektummal.
CRichEditCtrl::Cut Az aktuális kijelölést a vágólapra vágja.
CRichEditCtrl::DisplayBand Megjeleníti az objektum tartalmának CRichEditCtrl egy részét.
CRichEditCtrl::EmptyUndoBuffer Alaphelyzetbe állítja (törli) az objektum visszavonási jelzőjének jelölését CRichEditCtrl .
CRichEditCtrl::FindText Megkeresi az CRichEditCtrl objektumon belüli szöveget.
CRichEditCtrl::FindWordBreak Megkeresi a következő szótörést a megadott karakterpozíció előtt vagy után, vagy beolvassa az adott pozícióban lévő karakter adatait.
CRichEditCtrl::FormatRange Szövegtartomány formázása a célkimeneti eszközhöz.
CRichEditCtrl::GetCharPos Meghatározza egy adott karakter helyét az CRichEditCtrl objektumon belül.
CRichEditCtrl::GetDefaultCharFormat Lekéri az objektum aktuális alapértelmezett karakterformázási CRichEditCtrl attribútumait.
CRichEditCtrl::GetEventMask Lekéri az objektum eseménymaszkját CRichEditCtrl .
CRichEditCtrl::GetFirstVisibleLine Meghatározza az objektum legfelül látható vonalát CRichEditCtrl .
CRichEditCtrl::GetIRichEditOle A részletes szerkesztési vezérlő felületére mutató mutatót IRichEditOle kér le.
CRichEditCtrl::GetLimitText Lekéri a felhasználó által az objektumba CRichEditCtrl beírható szöveg korlátját.
CRichEditCtrl::GetLine Beolvas egy szövegsort ebből az CRichEditCtrl objektumból.
CRichEditCtrl::GetLineCount Lekéri az objektumban lévő CRichEditCtrl sorok számát.
CRichEditCtrl::GetModify Meghatározza, hogy az objektum tartalma megváltozott-e CRichEditCtrl az utolsó mentés óta.
CRichEditCtrl::GetOptions Lekéri a szerkesztési lehetőségeket.
CRichEditCtrl::GetParaFormat Beolvassa az objektum aktuális kijelölésének bekezdésformázási CRichEditCtrl attribútumait.
CRichEditCtrl::GetPunctuation Lekéri a rich edit vezérlőelem aktuális írásjeleit. Ez az üzenet csak az operációs rendszer ázsiai nyelvű verzióiban érhető el.
CRichEditCtrl::GetRect Lekéri az objektum formázási téglalapját CRichEditCtrl .
CRichEditCtrl::GetRedoName Lekéri a vezérlő újraműveleti üzenetsorában a következő művelet típusát( ha van ilyen).
CRichEditCtrl::GetSel Lekéri az objektum aktuális kijelölésének CRichEditCtrl kezdő és záró pozícióit.
CRichEditCtrl::GetSelectionCharFormat Lekéri az objektum aktuális kijelölésének karakterformázási CRichEditCtrl attribútumait.
CRichEditCtrl::GetSelectionType Lekéri az objektum aktuális kijelölésében szereplő tartalomtípust CRichEditCtrl .
CRichEditCtrl::GetSelText Lekéri az objektum aktuális CRichEditCtrl kijelölésének szövegét
CRichEditCtrl::GetTextLength A szöveg hosszát kéri le karakterben ebben az CRichEditCtrl objektumban. Nem tartalmazza a megszüntető null karaktert.
CRichEditCtrl::GetTextLengthEx Beolvassa a karakterek vagy bájtok számát a rich edit nézetben. A jelölők listájának elfogadása a szöveg hosszának meghatározására a rich edit vezérlőelemben
CRichEditCtrl::GetTextMode Lekéri az aktuális szöveges módot, és visszavonja a részletes szerkesztési vezérlő szintjét.
CRichEditCtrl::GetTextRange Lekéri a megadott szövegtartományt.
CRichEditCtrl::GetUndoName Lekéri a következő visszavonási művelet típusát, ha van ilyen.
CRichEditCtrl::GetWordWrapMode Lekéri a részletes szerkesztési vezérlő aktuális szóburkolási és szótörési beállításait. Ez az üzenet csak az operációs rendszer ázsiai nyelvű verzióiban érhető el.
CRichEditCtrl::HideSelection Megjeleníti vagy elrejti az aktuális kijelölést.
CRichEditCtrl::LimitText Korlátozza a felhasználó által az CRichEditCtrl objektumba beírható szöveg mennyiségét.
CRichEditCtrl::LineFromChar Meghatározza, hogy melyik sor tartalmazza a megadott karaktert.
CRichEditCtrl::LineIndex Egy adott sor karakterindexét kéri le ebben az CRichEditCtrl objektumban.
CRichEditCtrl::LineLength Egy adott sor hosszát kéri le ebben az CRichEditCtrl objektumban.
CRichEditCtrl::LineScroll Görgeti az objektum szövegét CRichEditCtrl .
CRichEditCtrl::Paste Beszúrja a vágólap tartalmát ebbe a részletes szerkesztési vezérlőbe.
CRichEditCtrl::PasteSpecial Beszúrja a vágólap tartalmát ebbe a részletes szerkesztési vezérlőbe a megadott adatformátumban.
CRichEditCtrl::PosFromChar Lekéri egy adott karakter ügyfélterület-koordinátáit egy szerkesztési vezérlőben.
CRichEditCtrl::Redo Újra végrehajtja a következő műveletet a vezérlő ismétlési üzenetsorában.
CRichEditCtrl::ReplaceSel Az objektum aktuális CRichEditCtrl kijelölését lecseréli a megadott szövegre.
CRichEditCtrl::RequestResize Kényszeríti ezt az CRichEditCtrl objektumot a kérések átméretezésére vonatkozó értesítések küldésére.
CRichEditCtrl::SetAutoURLDetect Azt jelzi, hogy az automatikus URL-észlelés aktív-e egy gazdag szerkesztési vezérlőben.
CRichEditCtrl::SetBackgroundColor Beállítja az objektum háttérszínét CRichEditCtrl .
CRichEditCtrl::SetDefaultCharFormat Beállítja az objektum aktuális alapértelmezett karakterformázási CRichEditCtrl attribútumait.
CRichEditCtrl::SetEventMask Beállítja az objektum eseménymaszkját CRichEditCtrl .
CRichEditCtrl::SetModify Beállítja vagy törli az objektum módosításjelzőjének jelölését CRichEditCtrl .
CRichEditCtrl::SetOLECallback Beállítja a COM-objektumot ehhez a IRichEditOleCallback részletes szerkesztési vezérlőhöz.
CRichEditCtrl::SetOptions Beállítja az CRichEditCtrl objektum beállításait.
CRichEditCtrl::SetParaFormat Beállítja a bekezdésformázási attribútumokat az objektum aktuális kijelölésében CRichEditCtrl .
CRichEditCtrl::SetPunctuation A rich edit vezérlőelem írásjeleit állítja be. Ez az üzenet csak az operációs rendszer ázsiai nyelvű verzióiban érhető el.
CRichEditCtrl::SetReadOnly Beállítja az objektum írásvédett beállítását CRichEditCtrl .
CRichEditCtrl::SetRect Beállítja az objektum formázási téglalapját CRichEditCtrl .
CRichEditCtrl::SetSel A kijelölés beállítása ebben az CRichEditCtrl objektumban.
CRichEditCtrl::SetSelectionCharFormat Az objektum aktuális kijelölésében szereplő karakterformázási attribútumokat állítja be CRichEditCtrl .
CRichEditCtrl::SetTargetDevice Beállítja az objektum célkimeneti eszközét CRichEditCtrl .
CRichEditCtrl::SetTextMode A rich edit vezérlőelem szövegmódját vagy visszavonási szintjét állítja be. Az üzenet meghiúsul, ha a vezérlő szöveget tartalmaz.
CRichEditCtrl::SetUndoLimit Beállítja a visszavonási várólistában tárolható műveletek maximális számát.
CRichEditCtrl::SetWordCharFormat Beállítja az objektum aktuális szójának CRichEditCtrl karakterformázási attribútumait.
CRichEditCtrl::SetWordWrapMode A részletes szerkesztési vezérlő szóburkolási és szótörési beállításait állítja be. Ez az üzenet csak az operációs rendszer ázsiai nyelvű verzióiban érhető el.
CRichEditCtrl::StopGroupTyping Megakadályozza, hogy a vezérlő további gépelési műveleteket gyűjtsön az aktuális visszavonási műveletbe. A vezérlő a következő beírási műveletet ( ha van ilyen) egy új műveletbe tárolja a visszavonási várólistában.
CRichEditCtrl::StreamIn Szöveg beszúrása bemeneti adatfolyamból ebbe az CRichEditCtrl objektumba.
CRichEditCtrl::StreamOut Az objektum szövegét CRichEditCtrl egy kimeneti streambe tárolja.
CRichEditCtrl::Undo Megfordítja az utolsó szerkesztési műveletet.

Megjegyzések

A "rich edit control" egy ablak, amelyben a felhasználó szöveget írhat be és szerkeszthet. A szöveg hozzárendelhető karakter- és bekezdésformázáshoz, és beágyazott OLE-objektumokat is tartalmazhat. A részletes szerkesztési vezérlők programozási felületet biztosítanak a szövegformázáshoz. Az alkalmazásnak azonban implementálnia kell minden olyan felhasználói felületi összetevőt, amely ahhoz szükséges, hogy a formázási műveleteket elérhetővé tegye a felhasználó számára.

Ez a Windows common control (és így az CRichEditCtrl osztály) csak a Windows 95/98 és a Windows NT 3.51-ös és újabb verzióiban futó programokhoz érhető el. Az CRichEditCtrl osztály támogatja a Windows SDK rich edit vezérlő 2.0-s és 3.0-s verzióját.

Caution

Ha egy párbeszédpanelen gazdag szerkesztési vezérlőt használ (függetlenül attól, hogy az alkalmazás SDI-, MDI- vagy párbeszédpanel-alapú), a párbeszédpanel megjelenése előtt egyszer kell hívnia AfxInitRichEdit . A függvény meghívásának tipikus helye a program tagfüggvénye InitInstance . Nem szükséges minden alkalommal meghívnia, amikor megjeleníti a párbeszédpanelt, csak az első alkalommal. Nem kell hívnia AfxInitRichEdit, ha a CRichEditView -val dolgozik.

További információ a használatról CRichEditCtrl:

Ha egy MFC-alkalmazásban gazdag szerkesztési vezérlőt használ, tekintse meg a WORDPAD mintaalkalmazást.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CRichEditCtrl

Requirements

Fejléc:afxcmn.h

CRichEditCtrl::CanPaste

Meghatározza, hogy a rich edit vezérlő beillesztheti-e a megadott vágólapformátumot.

BOOL CanPaste(UINT nFormat = 0) const;

Paraméterek

nFormat
A lekérdezendő vágólap adatformátuma. Ez a paraméter lehet az előre definiált vágólapformátumok egyike vagy a visszaadott RegisterClipboardFormatérték.

Visszaadott érték

Nemzero, ha a vágólap formátuma beilleszthető; egyéb esetben 0.

Megjegyzések

Ha nFormat 0, CanPaste a vágólapon jelenleg bármilyen formátumot kipróbálhat.

További információ: EM_CANPASTE üzenet és RegisterClipboardFormat függvény a Windows SDK-ban.

Example

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

CRichEditCtrl::CanRedo

Meghatározza, hogy az ismétlési üzenetsor tartalmaz-e műveleteket.

BOOL CanRedo() const;

Visszaadott érték

Nonzero, ha az ismétlési üzenetsor műveleteket tartalmaz, ellenkező esetben 0.

Megjegyzések

A művelet nevének az ismétlési üzenetsorban való felderítéséhez hívja fel a következőt CRichEditCtrl::GetRedoName: A legutóbbi visszavonási művelet újbóli végrehajtásához hívja meg a következőt Redo: .

További információt a Windows SDK-ban talál EM_CANREDO .

CRichEditCtrl::CanUndo

Meghatározza, hogy az utolsó szerkesztési művelet visszavonható-e.

BOOL CanUndo() const;

Visszaadott érték

Nonzero, ha az utolsó szerkesztési műveletet vissza lehet vonni a Undo tagfüggvény hívásával; 0, ha nem vonható vissza.

Megjegyzések

További információt a Windows SDK-ban talál EM_CANUNDO .

Example

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

CRichEditCtrl::CharFromPos

A paraméter ptáltal megadott ponton lévő karakter adatait kéri le.

int CharFromPos(CPoint pt) const;

Paraméterek

pt
A CPoint megadott pont koordinátáit tartalmazó objektum.

Visszaadott érték

A megadott ponthoz legközelebbi karakter nullaalapú karakterindexe. Ha a megadott pont meghaladja a vezérlőelem utolsó karakterét, a visszatérési érték a vezérlőelem utolsó karakterét jelzi.

Megjegyzések

Ez a tagfüggvény gazdag szerkesztési vezérlővel működik. A szerkesztési vezérlő adatainak lekéréséhez hívja meg a következőt CEdit::CharFromPos:

További információt a Windows SDK-ban talál EM_CHARFROMPOS .

CRichEditCtrl::Clear

Törli (törli) az aktuális kijelölést (ha van ilyen) a rich edit vezérlőelemben.

void Clear();

Megjegyzések

A tagfüggvény meghívásával visszavonható a Undo törlésClear.

Az aktuális kijelölés törléséhez és a törölt tartalom vágólapra helyezéséhez hívja meg a tagfüggvényt Cut .

További információt a Windows SDK-ban talál WM_CLEAR .

Example

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

CRichEditCtrl::Copy

Másolja az aktuális kijelölést (ha van ilyen) a rich edit vezérlőelemben a vágólapra.

void Copy();

Megjegyzések

További információt a Windows SDK-ban talál WM_COPY .

Example

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

CRichEditCtrl::Create

Létrehozza a Windows rich edit vezérlőt, és társítja az CRichEditCtrl objektumhoz.

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

Paraméterek

dwStyle
Megadja a szerkesztési vezérlő stílusát. Alkalmazza az alábbi Megjegyzések szakaszban felsorolt ablakstílusok kombinációját, és szerkessze a Windows SDK-ban leírt vezérlőstílusokat.

rect
Megadja a szerkesztési vezérlő méretét és pozícióját. Lehet objektum CRect vagy RECT struktúra.

pParentWnd
Megadja a szerkesztési vezérlő szülőablakát (gyakran a CDialog). Nem lehet NULL.

nID
Megadja a szerkesztési vezérlő azonosítóját.

Visszaadott érték

Nonzero, ha az inicializálás sikeres; ellenkező esetben 0.

Megjegyzések

Egy objektumot CRichEditCtrl két lépésben hozhat létre. Először hívja meg a CRichEditCtrl konstruktort, majd hívja meg Create, amely létrehozza a Windows szerkesztési vezérlőt, és csatolja azt az CRichEditCtrl objektumhoz.

Ha gazdag szerkesztési vezérlőt hoz létre ezzel a függvénnyel, először be kell töltenie a szükséges közös vezérlőtárat. A kódtár betöltéséhez hívja meg a globális függvényt AfxInitRichEdit, amely inicializálja a közös vezérlőtárat. A folyamat során csak egyszer kell hívást kezdeményeznie AfxInitRichEdit .

A végrehajtáskor Create a Windows elküldi a WM_NCCREATE, WM_NCCALCSIZE, WM_CREATEés WM_GETMINMAXINFO az üzeneteket a szerkesztési vezérlőnek.

Ezeket az üzeneteket alapértelmezés szerint az OnNcCreatealaposztály , OnNcCalcSize, OnCreateés OnGetMinMaxInfo tagfüggvényei CWnd kezelik. Az alapértelmezett üzenetkezelés kibővítéséhez származtassunk egy osztályt CRichEditCtrl, adjunk hozzá egy üzenettérképet az új osztályhoz, és felülbíráljuk a fenti üzenetkezelő tagfüggvényeket. Felülbírálhatja OnCreatepéldául az új osztály szükséges inicializálását.

Alkalmazza a következő ablakstílusokat egy szerkesztési vezérlőre.

  • WS_CHILD Mindig.

  • WS_VISIBLE Általában.

  • WS_DISABLED Ritkán.

  • WS_GROUP Vezérlők csoportosítása.

  • WS_TABSTOP Szerkesztési vezérlő belefoglalása a lapozási sorrendbe.

Az ablakstílusokról további információt a Windows SDK-ban talál CreateWindow .

Example

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

CRichEditCtrl::CreateEx

Létrehoz egy vezérlőt (egy gyermekablakot), és társítja azt az CRichEditCtrl objektummal.

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

Paraméterek

dwExStyle
A létrehozott vezérlőelem kiterjesztett stílusát adja meg. A bővített Windows-stílusok listáját a dwExStyle Windows SDK paraméterében CreateWindowEx találja.

dwStyle
Megadja a szerkesztési vezérlő stílusát. Alkalmazza a VezérlőstílusokMegjegyzések szakaszában Create felsorolt ablakstílusok kombinációját a Windows SDK-ban leírtak szerint.

rect
Hivatkozás a RECT létrehozandó ablak méretét és pozícióját leíró struktúrára a következő ügyfélkoordinátáiban pParentWnd: .

pParentWnd
A vezérlő szülőablakára mutató mutató.

nID
A vezérlő gyermekablak-azonosítója.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Create A CreateEx bővített Windows-stílusok helyett használja a Windows bővített stílus előszavában WS_EX_megadott stílusokat.

CRichEditCtrl::CRichEditCtrl

Egy CRichEditCtrl objektumot hoz létre.

CRichEditCtrl();

Megjegyzések

A Windows rich edit vezérlőjének létrehozásához használható Create .

Example

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

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

CRichEditCtrl::Cut

Törölje (kivágja) az aktuális kijelölést (ha van ilyen) a rich edit vezérlőelemben, és másolja a törölt szöveget a vágólapra.

void Cut();

Megjegyzések

A tagfüggvény meghívásával visszavonható a Undo törlésCut.

Ha úgy szeretné törölni az aktuális kijelölést, hogy nem helyezi el a törölt szöveget a vágólapra, hívja meg a tagfüggvényt Clear .

További információt a Windows SDK-ban talál WM_CUT .

Example

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

CRichEditCtrl::DisplayBand

A rich edit vezérlőelem (szöveg és OLE elemek) tartalmának egy részét jeleníti meg a korábban formázott FormatRangemódon.

BOOL DisplayBand(LPRECT pDisplayRect);

Paraméterek

pDisplayRect
Mutasson egy vagy CRect több RECT objektumra, amely megadja az eszköz területét a szöveg megjelenítéséhez.

Visszaadott érték

Nonzero, ha a formázott szöveg megjelenítése sikeres, ellenkező esetben 0.

Megjegyzések

A szöveg és az OLE elemek az egérmutató pDisplayRectáltal megadott területre lesznek vágva.

További információt a Windows SDK-ban talál EM_DISPLAYBAND .

Example

Lásd a példát a CRichEditCtrl::FormatRange.

CRichEditCtrl::EmptyUndoBuffer

Visszaállítja (törli) a részletes szerkesztési vezérlő visszavonási jelzőjének jelölését.

void EmptyUndoBuffer();

Megjegyzések

A vezérlő nem tudja visszavonni az utolsó szerkesztési műveletet. A visszavonási jelző minden alkalommal be van állítva, amikor a rich edit vezérlőelemen belüli művelet visszavonható.

A visszavonási jelző automatikusan törlődik, amikor meghívja a tagfüggvényt CWndSetWindowText.

További információt a Windows SDK-ban talál EM_EMPTYUNDOBUFFER .

Example

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

CRichEditCtrl::FindText

Szöveg keresése a rich edit vezérlőelemen belül.

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

Paraméterek

dwFlags
A lehetséges értékek listáját a Windows SDK-ban EM_FINDTEXTEXT találjawParam.

pFindText
Mutasson arra a FINDTEXTEX struktúrára, amely megadja a keresés paramétereit, és visszaadja azt a tartományt, ahol az egyezés található.

Visszaadott érték

A következő egyezés nullaalapú karakterpozíciója; - 1, ha nincs több találat.

Megjegyzések

A struktúra FINDTEXTEX megfelelő tartományparamétereinek CHARRANGE beállításával felfelé vagy lefelé is kereshet.

További információ: EM_FINDTEXTEX üzenet és FINDTEXTEX struktúra a Windows SDK-ban.

Example

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

Megkeresi a következő szótörést a megadott nStartpozíció előtt vagy után.

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

Paraméterek

nCode
A végrehajtandó műveletet jelzi. A lehetséges értékek listájáért tekintse meg a paraméter code leírását a Windows SDK-ban EM_FINDWORDBREAK .

nStart
Az a nulla alapú karakterpozíció, amelyből kiindulni kell.

Visszaadott érték

A paraméter nCodealapján. További információt a Windows SDK-ban talál EM_FINDWORDBREAK .

Megjegyzések

Ez a tagfüggvény egy adott pozícióban lévő karakterre vonatkozó információk lekérésére használható.

CRichEditCtrl::FormatRange

Szövegtartomány formázása egy adott eszköz részletes szerkesztési vezérlőjében.

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

Paraméterek

pfr
Mutasson arra a FORMATRANGE struktúrára, amely a kimeneti eszköz adatait tartalmazza. NULL azt jelzi, hogy a rich edit vezérlőelem gyorsítótárazott információi felszabadíthatók.

bDisplay
Azt jelzi, hogy a szöveget renderelni kell-e. Ha FALSE, akkor a szöveg csak meg van mérve.

Visszaadott érték

A régióban elférő utolsó karakter indexe plusz egy.

Megjegyzések

Ezt a hívást általában a következő hívás DisplayBandköveti: .

További információ: EM_FORMATRANGE üzenet és FORMATRANGE struktúra a Windows SDK-ban.

Example

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

Lekéri egy adott karakter pozícióját (bal felső sarokban) az CRichEditCtrl objektumon belül.

CPoint GetCharPos(long lChar) const;

Paraméterek

lChar
A karakter nulla alapú indexe.

Visszaadott érték

A karakter lCharbal felső sarkának helye.

Megjegyzések

A karakter a nullaalapú indexérték megadásával van megadva. Ha lChar nagyobb, mint az objektum utolsó karakterének CRichEditCtrl indexe, a visszatérési érték az objektum utolsó karakterén CRichEditCtrl túli karakterpozíció koordinátáit adja meg.

További információt a Windows SDK-ban talál EM_POSFROMCHAR .

CRichEditCtrl::GetDefaultCharFormat

Lekéri az objektum alapértelmezett karakterformázási attribútumait CRichEditCtrl .

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

Paraméterek

cf
Az első verzióban az alapértelmezett karakterformázási attribútumokat tartalmazó struktúra mutatója CHARFORMAT .

A második verzióban egy szerkezetre CHARFORMAT2 mutató mutató, amely egy Rich Edit 2.0-bővítmény a CHARFORMAT szerkezethez, és az alapértelmezett karakterformázási attribútumokat tartja.

Visszaadott érték

A dwMask . adattagja cf. Megadta az alapértelmezett karakterformázási attribútumokat.

Megjegyzések

További információkért tekintse meg a EM_GETCHARFORMAT Windows SDK üzenetét CHARFORMAT és CHARFORMAT2 struktúráját.

Example

Lásd a példát a SetDefaultCharFormat.

CRichEditCtrl::GetEventMask

Lekéri az objektum eseménymaszkját CRichEditCtrl .

long GetEventMask() const;

Visszaadott érték

Az objektum eseménymaszkja CRichEditCtrl .

Megjegyzések

Az eseménymaszk megadja, hogy az CRichEditCtrl objektum mely értesítési üzeneteket küldi a szülőablakba.

További információt a Windows SDK-ban talál EM_GETEVENTMASK .

Example

Lásd a példát a CRichEditCtrl::SetEventMask.

CRichEditCtrl::GetFirstVisibleLine

Meghatározza az objektum legfelül látható vonalát CRichEditCtrl .

int GetFirstVisibleLine() const;

Visszaadott érték

Az objektum legfelső látható vonalának nulla alapú indexe CRichEditCtrl .

Megjegyzések

További információt a Windows SDK-ban talál EM_GETFIRSTVISIBLELINE .

Example

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

Hozzáfér az IRichEditOle objektum felületéhez CRichEditCtrl .

IRichEditOle* GetIRichEditOle() const;

Visszaadott érték

Mutasson arra a IRichEditOle felületre, amely az objektum OLE-funkcióinak eléréséhez CRichEditCtrl használható; NULL ha a felület nem érhető el.

Megjegyzések

Ezen a felületen érheti el az CRichEditCtrl objektum OLE-funkcióit.

További információ: EM_GETOLEINTERFACE üzenet és IRichEditOle felület a Windows SDK-ban.

CRichEditCtrl::GetLimitText

Lekéri az objektum szövegkorlátját CRichEditCtrl .

long GetLimitText() const;

Visszaadott érték

Az objektum jelenlegi szövegkorlátja bájtban CRichEditCtrl .

Megjegyzések

A szövegkorlát a szöveg maximális mennyisége, bájtban kifejezve a rich edit vezérlőelem elfogadható.

További információt a Windows SDK-ban talál EM_GETLIMITTEXT .

Example

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

Beolvas egy szövegsort ebből az CRichEditCtrl objektumból.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

Paraméterek

nIndex
A lekérendő sor nullaalapú indexe.

lpszBuffer
A szöveg fogadásához a pufferre mutat. A puffer első szójának meg kell adnia a pufferbe másolható bájtok maximális számát.

nMaxLength
A bemásolható lpszBufferkarakterek maximális száma. A második formátum GetLine ezt az értéket a puffer által megadott lpszBufferelső szóba helyezi.

Visszaadott érték

A bemásolt lpszBufferkarakterek száma.

Megjegyzések

A másolt vonal nem tartalmaz végződő null karaktert.

Megjegyzés:

Mivel a puffer első szava tárolja a másolandó karakterek számát, győződjön meg arról, hogy a puffer legalább 4 bájt hosszú.

További információt a Windows SDK-ban talál EM_GETLINE .

Example

Lásd a példát a GetLineCount.

CRichEditCtrl::GetLineCount

Lekéri az objektum sorainak CRichEditCtrl számát.

int GetLineCount() const;

Visszaadott érték

Az objektumban lévő CRichEditCtrl sorok száma.

Megjegyzések

További információt a Windows SDK-ban talál EM_GETLINECOUNT .

Example

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

Meghatározza, hogy az objektum tartalma módosult-e CRichEditCtrl .

BOOL GetModify() const;

Visszaadott érték

Nonzero, ha az objektum szövegét CRichEditCtrl módosították, ellenkező esetben 0.

Megjegyzések

A Windows egy belső jelzőt tart fenn, amely jelzi, hogy a rich edit vezérlő tartalma módosult-e. Ez a jelző törlődik a szerkesztési vezérlő első létrehozásakor, és a tagfüggvény meghívásával SetModify is törölhető.

További információt a Windows SDK-ban talál EM_GETMODIFY .

Example

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

CRichEditCtrl::GetOptions

Lekéri a rich edit vezérlőelemhez jelenleg megadott beállításokat.

UINT GetOptions() const;

Visszaadott érték

Az aktuális beállításjelölő értékeinek kombinációja. Ezen értékek listájáért tekintse meg az fOptionsEM_SETOPTIONS üzenetben szereplő paramétert a Windows SDK-ban leírtak szerint.

CRichEditCtrl::GetParaFormat

Lekéri az aktuális kijelölés bekezdésformázási attribútumait.

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

Paraméterek

pf
Az első verzióban egy struktúra mutatója PARAFORMAT az aktuális kijelölés bekezdésformázási attribútumainak tárolására.

A második verzióban egy szerkezetre PARAFORMAT2 mutató mutató, amely egy Rich Edit 2.0-bővítmény a PARAFORMAT szerkezethez, és az alapértelmezett karakterformázási attribútumokat tartja.

Visszaadott érték

A dwMask . adattagja pf. Az aktuális kijelölés során konzisztens bekezdésformázási attribútumokat adja meg.

Megjegyzések

Ha több bekezdés van kijelölve, pf megkapja az első kijelölt bekezdés attribútumait. A visszatérési érték határozza meg, hogy mely attribútumok konzisztensek a kijelölés során.

További információkért tekintse meg a EM_GETPARAFORMAT Windows SDK üzenetét PARAFORMAT és PARAFORMAT2 struktúráját.

Example

Lásd a példát a CRichEditCtrl::SetParaFormat.

CRichEditCtrl::GetPunctuation

Beolvashatja az aktuális írásjeleket egy gazdag szerkesztési vezérlőben.

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

Paraméterek

fType
Az írásjelek típusjelzője a Windows SDK paraméterében EM_GETPUNCTUATION leírtak fType szerint.

lpPunc
Mutató egy PUNCTUATION struktúrára a Windows SDK-ban leírtak szerint.

Visszaadott érték

Ha a művelet sikeres volt, akkor nem, ellenkező esetben 0.

Megjegyzések

Ez a tagfüggvény csak az operációs rendszer ázsiai nyelvű verzióival érhető el.

CRichEditCtrl::GetRect

Lekéri az objektum formázási téglalapját CRichEditCtrl .

void GetRect(LPRECT lpRect) const;

Paraméterek

lpRect
CRect vagy mutatót ad RECT az objektum formázási téglalapjának fogadásához CRichEditCtrl .

Megjegyzések

A formázási téglalap a szöveg határolókerete. Ez az érték független az objektum méretétől CRichEditCtrl .

További információt a Windows SDK-ban talál EM_GETRECT .

Example

Lásd a példát a LimitText.

CRichEditCtrl::GetRedoName

Lekéri a következő elérhető művelet típusát az ismétlési várólistában, ha van ilyen.

UNDONAMEID GetRedoName() const;

Visszaadott érték

Ha sikeres, GetRedoName a UNDONAMEID következő művelet típusát jelző enumerálási típust adja vissza a vezérlő ismétlési üzenetsorában. Ha az ismétlési üzenetsor üres, vagy ha az üzenetsor ismétlési művelete ismeretlen típusú, GetRedoName akkor 0 értéket ad vissza.

Megjegyzések

A visszavonható vagy újból végrehajtható műveletek típusai közé tartoznak a gépelési, törlési, húzási, kivágási és beillesztési műveletek. Ezek az információk olyan alkalmazások esetében lehetnek hasznosak, amelyek kiterjesztett felhasználói felületet biztosítanak a visszavonási és újraműveleti műveletekhez, például az újra végrehajtható műveletek legördülő listájához.

CRichEditCtrl::GetSel

Lekéri az objektum aktuális CRichEditCtrl kijelölésének határait.

void GetSel(CHARRANGE& cr) const;

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

Paraméterek

cr
Hivatkozás egy CHARRANGE olyan struktúrára, amely az aktuális kijelölés határait fogadja.

nStartChar
Az aktuális kijelölés első karakterének nullaalapú indexe.

nEndChar
Az aktuális kijelölés utolsó karakterének nullaalapú indexe.

Megjegyzések

A függvény két formája alternatív módszereket kínál a kijelölés határainak lekérésére. Az űrlapok rövid leírása a következő:

  • GetSel(cr) Ez az űrlap a CHARRANGE struktúrát és cpMax annak cpMin tagjait használja a korlátok visszaadásához.

  • GetSel(nStartChar,nEndChar) Ez az űrlap a paraméterek nStartChar és nEndChara .

A kijelölés mindent tartalmaz, ha az első (cpMin vagy nStartChar) 0, a vége (cpMax vagy nEndChar) pedig - 1.

További információ: EM_EXGETSEL üzenet és CHARRANGE struktúra a Windows SDK-ban.

Example

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

Lekéri az aktuális kijelölés karakterformázási attribútumait.

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

Paraméterek

cf
Az első verzióban egy struktúra mutatója CHARFORMAT fogadja az aktuális kijelölés karakterformázási attribútumait.

A második verzióban egy struktúra mutatója CHARFORMAT2 , amely egy Rich Edit 2.0-bővítmény a struktúrához, CHARFORMAT hogy megkapja az aktuális kijelölés karakterformázási attribútumait.

Visszaadott érték

A dwMask . adattagja cf. Megadja azokat a karakterformázási attribútumokat, amelyek az aktuális kijelölés során konzisztensek.

Megjegyzések

A cf paraméter az aktuális kijelölés első karakterének attribútumait kapja meg. A visszatérési érték határozza meg, hogy mely attribútumok konzisztensek a kijelölés során.

További információkért tekintse meg a EM_GETCHARFORMAT Windows SDK üzenetét CHARFORMAT és CHARFORMAT2 struktúráját.

Example

Lásd a példát a SetSelectionCharFormat.

CRichEditCtrl::GetSelectionType

Meghatározza az objektum kijelölési típusát CRichEditCtrl .

WORD GetSelectionType() const;

Visszaadott érték

Az aktuális kijelölés tartalmát jelző jelzők. A következő jelölők kombinációja:

  • SEL_EMPTY Azt jelzi, hogy nincs aktuális kijelölés.

  • SEL_TEXT Azt jelzi, hogy az aktuális kijelölés szöveget tartalmaz.

  • SEL_OBJECT Azt jelzi, hogy az aktuális kijelölés legalább egy OLE elemet tartalmaz.

  • SEL_MULTICHAR Azt jelzi, hogy az aktuális kijelölés több szöveg karaktert tartalmaz.

  • SEL_MULTIOBJECT Azt jelzi, hogy az aktuális kijelölés egynél több OLE objektumot tartalmaz.

Megjegyzések

További információt a Windows SDK-ban talál EM_SELECTIONTYPE .

Example

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

Lekéri a szöveget az objektum aktuális kijelöléséből CRichEditCtrl .

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

Paraméterek

lpBuf
Az aktuális kijelölés szövegének fogadásához mutasson a pufferre.

Visszaadott érték

Az űrlaptól függ:

  • GetSelText(lpBuf) A bemásolt lpBufkarakterek száma, a null végződést nem beleértve.

  • GetSelText( ) Az aktuális kijelölést tartalmazó sztring.

Megjegyzések

Ha az első űrlapot használja, győződjön meg arról, GetSelText(lpBuf)hogy a puffer elég nagy ahhoz a szöveghez, amelyet kapni fog. Hívás GetSel az aktuális kijelölésben szereplő karakterek számának meghatározásához.

További információt a Windows SDK-ban talál EM_GETSELTEXT .

Example

Lásd a példát a CRichEditCtrl::GetSelectionType.

CRichEditCtrl::GetTextLength

Beolvassa a szöveg hosszát ebben az objektumban karakterekben CRichEditCtrl , a null karaktert nem beleértve.

long GetTextLength() const;

Visszaadott érték

Az objektum szövegének CRichEditCtrl hossza.

Megjegyzések

További információt a Windows SDK-ban talál WM_GETTEXTLENGTH .

Example

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

CRichEditCtrl::GetTextLengthEx

Kiszámítja a rich edit vezérlőelem szövegének hosszát.

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

Paraméterek

dwFlags
A szöveg hosszának meghatározásához használandó metódust meghatározó érték. Ez a tag egy vagy több lehet a Windows SDK-ban leírt jelzőkben GETTEXTLENGTHEX felsorolt értékek közül.

uCodePage
Kódlap fordításhoz (CP_ACP ANSI-kódlap, Unicode esetén 1200).

Visszaadott érték

A szerkesztési vezérlőben lévő karakterek vagy bájtok száma. Ha inkompatibilis jelzők lettek beállítva dwFlags, ez a tagfüggvény ad E_INVALIDARGvissza.

Megjegyzések

GetTextLengthEx további módszereket biztosít a szöveg hosszának meghatározására. Támogatja a Rich Edit 2.0 funkciót. További információt a Windows SDK rich edit vezérlőiről talál.

CRichEditCtrl::GetTextMode

Lekéri az aktuális szöveges módot, és visszavonja a részletes szerkesztési vezérlő szintjét.

UINT GetTextMode() const;

Visszaadott érték

Az enumerálási típus bitjelzőinek TEXTMODE készlete a Windows SDK-ban leírtak szerint. A jelölők az aktuális szövegmódot jelölik, és visszavonják a vezérlőelem szintjét.

CRichEditCtrl::GetTextRange

Lekéri a megadott karaktertartományt.

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

Paraméterek

nFirst
A tartomány első karakterét közvetlenül megelőző karakterpozícióindex.

nLast
A karakter pozíciója közvetlenül a tartomány utolsó karaktere után.

refString
Hivatkozás egy CString olyan objektumra, amely megkapja a szöveget.

Visszaadott érték

A másolt karakterek száma, a null karaktert nem beleértve.

Megjegyzések

További információt a Windows SDK-ban talál EM_GETTEXTRANGE .

GetTextRange támogatja a Rich Edit 2.0 funkciót. További információt a Windows SDK rich edit vezérlőiről talál.

CRichEditCtrl::GetUndoName

Lekéri a visszavonási üzenetsor következő elérhető műveletének típusát, ha van ilyen.

UNDONAMEID GetUndoName() const;

Visszaadott érték

Ha egy visszavonási művelet szerepel a vezérlő visszavonási üzenetsorában, GetUndoName a VISSZAVONÁSNÉVID enumerálási típust adja vissza, amely az üzenetsor következő műveletének típusát jelzi. Ha a visszavonási üzenetsor üres, vagy ha az üzenetsor visszavonási művelete ismeretlen típusú, GetUndoName akkor 0 értéket ad vissza.

Megjegyzések

A visszavonható vagy újból végrehajtható műveletek típusai közé tartoznak a gépelési, törlési, húzási, kivágási és beillesztési műveletek. Ezek az információk olyan alkalmazások esetében lehetnek hasznosak, amelyek kiterjesztett felhasználói felületet biztosítanak a visszavonási és újraműveleti műveletekhez, például a visszavonható műveletek legördülő listájához.

CRichEditCtrl::GetWordWrapMode

Lekéri a részletes szerkesztési vezérlő aktuális szóburkolási és szótörési beállításait.

UINT GetWordWrapMode() const;

Visszaadott érték

Az aktuális szóburkolási és szótörési lehetőségek. Ezeket a beállításokat a Windows SDK ismerteti EM_SETWORDWRAPMODE .

Megjegyzések

Ez a tagfüggvény csak az operációs rendszer ázsiai nyelvű verzióihoz érhető el.

CRichEditCtrl::HideSelection

Megváltoztatja a kijelölés láthatóságát.

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

Paraméterek

bHide
Azt jelzi, hogy a kijelölésnek láthatónak vagy rejtettnek kell-e lennie a TRUE kijelölés elrejtéséhez.

bPerm
Azt jelzi, hogy a kijelölés láthatóságának változásának állandónak kell-e lennie.

Megjegyzések

Ha bPerm igen TRUE, az módosítja az ECO_NOHIDESEL objektum beállítását CRichEditCtrl . Ennek a beállításnak a rövid leírását lásd SetOptions: . Ezzel a függvénnyel beállíthatja az objektum összes beállítását CRichEditCtrl .

További információt a Windows SDK-ban talál EM_HIDESELECTION .

Example

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

CRichEditCtrl::LimitText

Korlátozza annak a szövegnek a hosszát, amelyet a felhasználó be tud írni egy szerkesztési vezérlőbe.

void LimitText(long nChars = 0);

Paraméterek

nChars
A felhasználó által megadható szöveg hosszát (bájtban) adja meg. Ha ez a paraméter 0 (az alapértelmezett érték), a szöveg hossza 64 000 bájtra van állítva.

Megjegyzések

A szövegkorlát módosítása csak a felhasználó által beírható szöveget korlátozza. Nincs hatással a szerkesztési vezérlőben már meglévő szövegekre, és nem befolyásolja a szerkesztési vezérlőbe másolt szöveg hosszát a SetWindowText tagfüggvényben CWnd. Ha egy alkalmazás a SetWindowText függvény használatával több szöveget helyez egy szerkesztési vezérlőbe, mint amelyet a hívásban LimitTextmegadott, a felhasználó törölheti a szerkesztési vezérlő bármelyik szövegét. A szövegkorlát azonban megakadályozza, hogy a felhasználó lecserélje a meglévő szöveget új szövegre, kivéve, ha az aktuális kijelölés törlése miatt a szöveg a szövegkorlát alá csökken.

Megjegyzés:

A szövegkorlát esetében minden OLE-elem egyetlen karakternek számít.

További információt a Windows SDK-ban talál EM_EXLIMITTEXT .

Example

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

Lekéri a megadott karakterindexet tartalmazó sor sorszámát.

long LineFromChar(long nIndex) const;

Paraméterek

nIndex
A szerkesztési vezérlő szövegében a kívánt karakter nullaalapú indexértékét tartalmazza, vagy -1 értéket tartalmaz. Ha nIndex -1, akkor az aktuális sort adja meg, vagyis azt a vonalat, amely a gondviseletet tartalmazza.

Visszaadott érték

A megadott karakterindexet nIndextartalmazó sor nullaalapú vonalszáma. Ha nIndex -1, a program visszaadja a kijelölés első karakterét tartalmazó sor számát. Ha nincs kijelölés, a program az aktuális sorszámot adja vissza.

Megjegyzések

A karakterindex a rich edit vezérlőelem elejétől kezdődő karakterek száma. Karakterszámlálás esetén az OLE-elemek egyetlen karakternek számítanak.

További információt a Windows SDK-ban talál EM_EXLINEFROMCHAR .

Example

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

Lekéri az objektumon belüli CRichEditCtrl vonal karakterindexét.

int LineIndex(int nLine = -1) const;

Paraméterek

nLine
A szerkesztési vezérlőelem szövegében a kívánt sor indexértékét tartalmazza, vagy -1 értéket tartalmaz. Ha nLine -1, akkor az aktuális sort adja meg, vagyis azt a vonalat, amely a gondviseletet tartalmazza.

Visszaadott érték

A megadott vonal nLine karakterindexe vagy -1, ha a megadott sorszám nagyobb, mint a szerkesztési vezérlőben lévő sorok száma.

Megjegyzések

A karakterindex a rich edit vezérlőelem elejétől a megadott sorig lévő karakterek száma.

További információt a Windows SDK-ban talál EM_LINEINDEX .

Example

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

Egy sor hosszát kéri le egy rich edit vezérlőelemben.

int LineLength(int nLine = -1) const;

Paraméterek

nLine
Megadja annak a karakternek a karakterindexét, amelynek a hosszát le kell kérni. Ha ez a paraméter -1, a függvény visszaadja az aktuális sor (a metszést tartalmazó sor) hosszát, a vonalon belül kijelölt szöveg hosszát nem beleértve. Egysoros szerkesztési vezérlő meghívása esetén LineLength a rendszer figyelmen kívül hagyja ezt a paramétert.

Visszaadott érték

Ha LineLength többsoros szerkesztési vezérlőelemre van meghívva, a visszatérési érték a megadott sor nLinehossza (inTCHAR) lesz. Nem tartalmazza a sor végén lévő kocsivissza karaktert. Ha LineLength egysoros szerkesztési vezérlőelemre van meghívva, a visszatérési érték a szerkesztési vezérlőben lévő szöveg hossza (in TCHAR) lesz. Ha nLine nagyobb, mint a vezérlőelemben szereplő karakterek száma, akkor a visszatérési érték nulla.

Megjegyzések

LineIndex A tag függvénnyel lekérhet egy karakterindexet egy adott sorszámhoz az CRichEditCtrl objektumon belül.

További információt a Windows SDK-ban talál EM_LINELENGTH .

Example

Lásd a példát a LineIndex.

CRichEditCtrl::LineScroll

Többsoros szerkesztési vezérlő szövegének görgetése.

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

Paraméterek

nLines
Meghatározza a függőlegesen görgetni kívánt sorok számát.

nChars
Meghatározza a vízszintesen görgetendő karakterpozíciók számát. Ez az érték figyelmen kívül lesz hagyva, ha a rich edit vezérlőelem stílusa vagy ES_CENTER stílusa ES_RIGHT van. A szerkesztési stílusok a következőben vannak megadva: Create.

Megjegyzések

A szerkesztési vezérlő nem görget függőlegesen a szerkesztési vezérlő utolsó szövegsora mellett. Ha az aktuális vonal és a megadott nLines sorok száma meghaladja a szerkesztési vezérlőben lévő sorok teljes számát, az érték úgy van módosítva, hogy a szerkesztési vezérlő utolsó sora a szerkesztés-vezérlés ablakának elejére görgessen.

LineScroll segítségével vízszintesen görgethet bármely sor utolsó karaktere mellett.

További információt a Windows SDK-ban talál EM_LINESCROLL .

Example

Lásd a példát a GetFirstVisibleLine.

CRichEditCtrl::Paste

Beszúrja a vágólapról származó adatokat a CRichEditCtrl beszúrási pontba, a gondviselet helyébe.

void Paste();

Megjegyzések

Az adatok csak akkor lesznek beszúrva, ha a vágólap felismert formátumú adatokat tartalmaz.

További információt a Windows SDK-ban talál WM_PASTE .

Example

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

CRichEditCtrl::PasteSpecial

Adott vágólapformátumban illessze be az adatokat ebbe az CRichEditCtrl objektumba.

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

Paraméterek

nClipFormat
Vágólap formátuma az CRichEditCtrl objektumba való beillesztéshez.

dvAspect
A vágólapról lekérendő adatok eszközeleme.

hMF
A beillesztendő objektum ikonikus nézetét tartalmazó metafájl kezelése.

Megjegyzések

Az új anyag be lesz szúrva a beszúrási pontra, a gondozás helyére.

További információt a Windows SDK-ban talál EM_PASTESPECIAL .

Example

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

CRichEditCtrl::PosFromChar

Lekéri egy adott karakter ügyfélterület-koordinátáit egy szerkesztési vezérlőben.

CPoint PosFromChar(UINT nChar) const;

Paraméterek

nChar
A karakter nulla alapú indexe.

Visszaadott érték

A karakter pozíciója (x, y). Egysoros szerkesztési vezérlők esetén az y koordinátája mindig nulla.

Megjegyzések

További információt a Windows SDK-ban talál EM_POSFROMCHAR .

CRichEditCtrl::Redo

Újra végrehajtja a következő műveletet a vezérlő ismétlési üzenetsorában.

BOOL Redo();

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

További információt a Windows SDK-ban talál EM_REDO .

CRichEditCtrl::ReplaceSel

Az objektum aktuális CRichEditCtrl kijelölését lecseréli a megadott szövegre.

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

Paraméterek

lpszNewText
Mutató a helyettesítő szöveget tartalmazó null értékű sztringre.

bCanUndo
Ha meg szeretné adni, hogy a függvény visszavonható legyen, állítsa a paraméter értékét a következőre TRUE: . Az alapértelmezett érték a FALSE.

Megjegyzések

Az objektum összes szövegének CRichEditCtrl cseréjéhez használja a következőt CWnd::SetWindowText: .

Ha nincs aktuális kijelölés, a program beszúrja a helyettesítő szöveget a beszúrási pontra, vagyis az aktuális simítási helyre.

Ez a függvény a beszúrt szöveget a meglévő karakterformázással formázza. Ha a teljes szövegtartományt lecseréli (hívás ReplaceSelelőtt a SetSel(0,-1) hívással), a bekezdés karakterének vége megtartja az előző bekezdés formázását, amelyet az újonnan beszúrt szöveg örököl.

További információt a Windows SDK-ban talál EM_REPLACESEL .

Example

Lásd a példát a LineIndex.

CRichEditCtrl::RequestResize

Kényszeríti ezt az CRichEditCtrl objektumot, hogy értesítési üzeneteket küldjön EN_REQUESTRESIZE a szülőablakba.

void RequestResize();

Megjegyzések

Ez a függvény hasznos a feneketlen CRichEditCtrl objektumok feldolgozása soránCWnd::OnSize.

További információkért tekintse meg a EM_REQUESTRESIZE Windows SDK Rich Edit Vezérlőkről szóló szakaszának üzenetét és a Részletes szerkesztési vezérlőkről szóló szakaszt.

CRichEditCtrl::SetAutoURLDetect

Beállítja a rich edit vezérlőt, hogy automatikusan észleljen egy URL-címet.

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

Paraméterek

bEnable
Megadja, hogy a vezérlő úgy van-e beállítva, hogy automatikusan észleljen egy URL-címet. Ha TRUE, akkor engedélyezve van. Ha FALSE, akkor le van tiltva.

Visszaadott érték

Ha sikeres, akkor nulla, ellenkező esetben nem. Előfordulhat például, hogy az üzenet nem megfelelő memória miatt hiúsul meg.

Megjegyzések

Ha engedélyezve van, a rich edit vezérlő megvizsgálja a szöveget, hogy megállapítsa, egy szabványos URL-formátumnak felel-e meg. Ezeknek az URL-formátumoknak a listáját a Windows SDK-ban találja EM_AUTOURLDETECT .

Megjegyzés:

Ne állítsa be SetAutoURLDetect , hogy TRUE a szerkesztési vezérlő az URL-címeken kívül más szövegre használja-e az CFE_LINK effektust. SetAutoURLDetect engedélyezi ezt az effektust az URL-címek esetében, és letiltja az összes többi szöveg esetében. Az effektusról CFE_LINK további információt a EN_LINK talál.

CRichEditCtrl::SetBackgroundColor

Beállítja az objektum háttérszínét CRichEditCtrl .

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

Paraméterek

bSysColor
Azt jelzi, hogy a háttérszínt a rendszer értékére kell-e állítani. Ha ez az érték, cr a TRUErendszer figyelmen kívül hagyja.

cr
A kért háttérszín. Csak akkor használható, ha bSysColor az FALSE.

Visszaadott érték

Az objektum előző háttérszíne CRichEditCtrl .

Megjegyzések

A háttérszín beállítható a rendszer értékére vagy egy megadott COLORREF értékre.

További információ: EM_SETBKGNDCOLOR üzenet és COLORREF struktúra a Windows SDK-ban.

Example

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

CRichEditCtrl::SetDefaultCharFormat

Beállítja az objektum új szövegének karakterformázási CRichEditCtrl attribútumait.

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

Paraméterek

cf
Az első verzióban az új alapértelmezett karakterformázási attribútumokat tartalmazó struktúra mutatója CHARFORMAT .

A második verzióban az alapértelmezett karakterformázási attribútumokat tartalmazó szerkezetre mutató mutató CHARFORMAT2 , amely a CHARFORMAT szerkezet Rich Edit 2.0-bővítménye.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ez a függvény csak a dwMask tag cf által megadott attribútumokat módosítja.

További információkért tekintse meg a EM_SETCHARFORMAT Windows SDK üzenetét CHARFORMAT és CHARFORMAT2 struktúráját.

Example

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

Beállítja az objektum eseménymaszkját CRichEditCtrl .

DWORD SetEventMask(DWORD dwEventMask);

Paraméterek

dwEventMask
Az objektum új eseménymaszkja CRichEditCtrl .

Visszaadott érték

Az előző eseménymaszk.

Megjegyzések

Az eseménymaszk megadja, hogy az CRichEditCtrl objektum mely értesítési üzeneteket küldi a szülőablakba.

További információt a Windows SDK-ban talál EM_SETEVENTMASK .

Example

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

Beállítja vagy törli a módosított jelölőt egy szerkesztési vezérlőhöz.

void SetModify(BOOL bModified = TRUE);

Paraméterek

bModified
Egy érték TRUE azt jelzi, hogy a szöveg módosult, és egy érték FALSE azt jelzi, hogy nincs módosítva. Alapértelmezés szerint a módosított jelző be van állítva.

Megjegyzések

A módosított jelző azt jelzi, hogy a szerkesztési vezérlőben lévő szöveg módosult-e. Automatikusan be van állítva, amikor a felhasználó módosítja a szöveget. Az értéke lekérhető a GetModify tagfüggvénnyel.

További információt a Windows SDK-ban talál EM_SETMODIFY .

Example

Lásd a példát a GetModify.

CRichEditCtrl::SetOLECallback

Objektumot IRichEditOleCallback ad az CRichEditCtrl objektumnak az OLE-hez kapcsolódó erőforrások és információk eléréséhez.

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

Paraméterek

pCallback
Mutasson egy IRichEditOleCallback objektumra, amelyet az CRichEditCtrl objektum az OLE-hoz kapcsolódó erőforrások és információk lekérésére fog használni.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ez az CRichEditCtrl objektum a megadott COM-objektum pCallbackhasználati számának növelését fogja meghívniIUnknown::AddRef.

További információ: EM_SETOLECALLBACK üzenet és IRichEditOleCallback felület a Windows SDK-ban.

CRichEditCtrl::SetOptions

Beállítja az CRichEditCtrl objektum beállításait.

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

Paraméterek

wOp
A művelet típusát jelzi. Az alábbi értékek egyike:

  • ECOOP_SET Állítsa be a beállításokat a megadott dwFlagsbeállításokra.

  • ECOOP_OR Az aktuális beállítások kombinálása a megadott dwFlagsbeállításokkal.

  • ECOOP_ANDCsak azokat az aktuális beállításokat őrizze meg, amelyek szintén meg vannak adva.dwFlags

  • ECOOP_XOR Logikailag kizárja VAGY az aktuális beállításokat a megadott dwFlagsbeállításokkal.

dwFlags
Részletes szerkesztési lehetőségek. A jelzőértékek a Megjegyzések szakaszban jelennek meg.

Megjegyzések

A lehetőségek a következő értékek kombinációját tartalmazhatják:

  • ECO_AUTOWORDSELECTION Automatikus szókijelölés dupla kattintással.

  • ECO_AUTOVSCROLL Automatikusan 10 karakterrel jobbra görgeti a szöveget, amikor a felhasználó beír egy karaktert a sor végére. Amikor a felhasználó lenyomja az ENTER billentyűt, a vezérlő az összes szöveget visszagörgeti a nulla pozícióba.

  • ECO_AUTOHSCROLL Automatikusan görget fel egy oldalt, amikor a felhasználó lenyomja az ENTER billentyűt az utolsó sorban.

  • ECO_NOHIDESEL A szerkesztési vezérlők alapértelmezett viselkedésének tagadása. Az alapértelmezett viselkedés elrejti a kijelölést, ha a vezérlő elveszíti a bemeneti fókuszt, és megjeleníti a kijelölést, amikor a vezérlő megkapja a bemeneti fókuszt. Ha megadja ECO_NOHIDESEL, a kijelölt szöveg invertált lesz, még akkor is, ha a vezérlőelem nincs fókuszban.

  • ECO_READONLY Megakadályozza, hogy a felhasználó begépelje vagy szerkessze a szöveget a szerkesztési vezérlőben.

  • ECO_WANTRETURN Azt adja meg, hogy a rendszer beszúrjon egy kocsivisszajelet, amikor a felhasználó lenyomja az ENTER billentyűt, miközben szöveget ír be egy többsoros rich edit vezérlőelembe egy párbeszédpanelen. Ha nem adja meg ezt a stílust, az ENTER billentyű lenyomásával egy parancsot küld a rich edit vezérlő szülőablakába, amely a szülőablak alapértelmezett gombjára (például egy párbeszédpanel OK gombjára) kattint. Ez a stílus nincs hatással az egysoros szerkesztési vezérlőre.

  • ECO_SAVESEL Megőrzi a kijelölést, ha a vezérlő elveszíti a fókuszt. Alapértelmezés szerint a vezérlő teljes tartalma ki lesz választva, amikor visszanyeri a fókuszt.

  • ECO_VERTICAL Függőleges irányba rajzolja a szöveget és az objektumokat. Csak ázsiai nyelvekhez érhető el.

További információt a Windows SDK-ban talál EM_SETOPTIONS .

Example

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

CRichEditCtrl::SetParaFormat

Az objektum aktuális kijelölésének bekezdésformázási attribútumait állítja be CRichEditCtrl .

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

Paraméterek

pf
Az első verzióban az új alapértelmezett bekezdésformázási attribútumokat tartalmazó struktúra mutatója PARAFORMAT .

A második verzióban egy szerkezetre PARAFORMAT2 mutató mutató, amely egy Rich Edit 2.0-bővítmény a PARAFORMAT szerkezethez, és az alapértelmezett karakterformázási attribútumokat tartja.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ez a függvény csak a dwMask tag pf által megadott attribútumokat módosítja.

További információkért tekintse meg a EM_SETPARAFORMAT Windows SDK üzenetét PARAFORMAT és PARAFORMAT2 struktúráját.

Example

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

Az írásjeleket rich edit vezérlőelemben állítja be.

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

Paraméterek

fType
Az írásjel jelölője. A lehetséges értékek listáját a fType Windows SDK paraméterében EM_SETPUNCTUATION találja.

lpPunc
Mutató egy PUNCTUATION struktúrára a Windows SDK-ban leírtak szerint.

Visszaadott érték

Sikertelen, ha sikeres, egyébként 0.

Megjegyzések

Ez a tagfüggvény csak az operációs rendszer ázsiai nyelvű verzióihoz érhető el.

CRichEditCtrl::SetReadOnly

Módosítja az ECO_READONLY objektum beállítását CRichEditCtrl .

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Paraméterek

bReadOnly
Azt jelzi, hogy az objektum csak olvasható-e CRichEditCtrl .

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ennek a beállításnak a rövid leírását lásd SetOptions: . Ezzel a függvénnyel beállíthatja az objektum összes beállítását CRichEditCtrl .

További információt a Windows SDK-ban talál EM_SETREADONLY .

Example

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

CRichEditCtrl::SetRect

Beállítja az objektum formázási téglalapját CRichEditCtrl .

void SetRect(LPCRECT lpRect);

Paraméterek

lpRect
CRect vagy mutasson egy RECT olyanra, amely a formázási téglalap új határait jelzi.

Megjegyzések

A formázási téglalap a szöveg korlátozó téglalapja. A korlátozó téglalap független a rich edit vezérlőablak méretétől. Az CRichEditCtrl objektum első létrehozásakor a formázási téglalap mérete megegyezik az ablak ügyfélterületével. A SetRect formázási téglalap méretének vagy méretének növelése a rich edit ablaknál.

További információt a Windows SDK-ban talál EM_SETRECT .

Example

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

Az objektumon belüli CRichEditCtrl kijelölés beállítása.

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

Paraméterek

nStartChar
A kijelölés első karakterének nullaalapú indexe.

nEndChar
A kijelölés utolsó karakterének nullaalapú indexe.

cr
CHARRANGE szerkezet, amely az aktuális kijelölés határait foglalja magában.

Megjegyzések

A függvény két formája alternatív módszereket kínál a kijelölés határainak beállítására. Az űrlapok rövid leírása a következő:

  • SetSel(cr) Ez az űrlap a CHARRANGE struktúrát és cpMax annak cpMin tagjait használja a korlátok beállításához.

  • SetSel(nStartChar,nEndChar) Ez az űrlap a paraméterek és nStartChar az nEndChar használatával állítja be a határokat.

A simító a kijelölés végére kerül, amelyet a kezdő (cpMin vagy nStartChar) és záró (cpMax vagy nEndChar) indexek nagyobbika jelez. Ez a függvény görgeti a lap tartalmát CRichEditCtrl , hogy a gondviselet látható legyen.

Az CRichEditCtrl objektum összes szövegének kijelöléséhez hívja meg SetSel a 0 kezdőindexet és az - 1 végpontindexet.

További információ: EM_EXSETSEL üzenet és CHARRANGE struktúra a Windows SDK-ban.

Example

Lásd a példát a GetSel.

CRichEditCtrl::SetSelectionCharFormat

Az objektum aktuális kijelölésében szereplő szöveg karakterformázási attribútumait állítja be CRichEditCtrl .

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

Paraméterek

cf
Az első verzióban az aktuális kijelölés új karakterformázási attribútumait tartalmazó struktúra mutatója CHARFORMAT .

A második verzióban egy szerkezetre CHARFORMAT2 mutató mutató, amely a szerkezet Rich Edit 2.0-bővítménye CHARFORMAT , amely az aktuális kijelölés új karakterformázási attribútumait tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ez a függvény csak a dwMaskcf tag által megadott attribútumokat módosítja.

További információ: a EM_SETCHARFORMAT Windows SDK és a CHARFORMATCHARFORMAT2 struktúrák.

Example

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

Beállítja az objektum WYSIWYG-formázásához használt céleszközt és vonalszélességű (amit lát, az az, amit kap) formázást ebben az CRichEditCtrl objektumban.

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

Paraméterek

hDC
Kezelje az új céleszköz eszközkörnyezetét.

lLineWidth
Formázáshoz használandó vonalszélesség.

dc
CDC az új céleszközhöz.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ha ez a függvény sikeres, a rich edit vezérlő a paraméterként átadott eszközkörnyezet tulajdonosa. Ebben az esetben a hívó függvénynek nem szabad megsemmisítenie az eszközkörnyezetet.

További információt a Windows SDK-ban talál EM_SETTARGETDEVICE .

Example

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

Beállítja a szövegmódot, vagy visszavonja és újra elvégzi a részletes szerkesztési vezérlők szintjét.

BOOL SetTextMode(UINT fMode);

Paraméterek

fMode
Megadja a vezérlő szövegmódjának új beállításait, és visszavonja a szint paramétereit. A lehetséges értékek listáját a Windows SDK módparaméterében EM_SETTEXTMODE találja.

Visszaadott érték

Ha sikeres, akkor nulla, ellenkező esetben nem.

Megjegyzések

A szövegmódok leírását a Windows SDK-ban talál EM_SETTEXTMODE .

Ez a tagfüggvény meghiúsul, ha a vezérlő szöveget tartalmaz. Ha meg szeretné győződni arról, hogy a vezérlő üres, küldjön egy üres sztringet WM_SETTEXT tartalmazó üzenetet.

CRichEditCtrl::SetUndoLimit

Beállítja a visszavonási várólistában tárolható műveletek maximális számát.

UINT SetUndoLimit(UINT nLimit);

Paraméterek

nLimit
Megadja a visszavonási várólistában tárolható műveletek maximális számát. Állítsa nullára a visszavonás letiltásához.

Visszaadott érték

A részletes szerkesztési vezérlő visszavonási műveleteinek új maximális száma.

Megjegyzések

Alapértelmezés szerint a visszavonási várólista műveleteinek maximális száma 100. Ha növeli ezt a számot, elegendő memóriával kell rendelkeznie az új szám elhelyezéséhez. A jobb teljesítmény érdekében állítsa a korlátot a lehető legkisebb értékre.

CRichEditCtrl::SetWordCharFormat

Beállítja az objektumban CRichEditCtrl jelenleg kijelölt szó karakterformázási attribútumait.

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

Paraméterek

cf
Az első verzióban az aktuálisan kijelölt szó új karakterformázási attribútumait tartalmazó struktúra mutatója CHARFORMAT .

A második verzióban egy szerkezetre CHARFORMAT2 mutató mutató, amely a szerkezet Rich Edit 2.0-bővítménye CHARFORMAT , amely az aktuálisan kijelölt szó új karakterformázási attribútumait tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; ellenkező esetben 0.

Megjegyzések

Ez a függvény csak a dwMask tag cf által megadott attribútumokat módosítja.

További információkért tekintse meg a EM_SETCHARFORMAT Windows SDK üzenetét CHARFORMAT és CHARFORMAT2 struktúráját.

Example

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

A részletes szerkesztési vezérlő szóburkolási és szótörési beállításait állítja be.

UINT SetWordWrapMode(UINT uFlags) const;

Paraméterek

uFlags
A szóburkolás és a szótörés beállításának lehetőségei. A lehetséges lehetőségek listáját a Windows SDK-ban találja EM_SETWORDWRAPMODE .

Visszaadott érték

Az aktuális szóburkolási és szótörési lehetőségek.

Megjegyzések

Ez az üzenet csak az operációs rendszer ázsiai nyelvű verzióiban érhető el.

CRichEditCtrl::StopGroupTyping

Megakadályozza, hogy a vezérlő további gépelési műveleteket gyűjtsön az aktuális visszavonási műveletbe.

void StopGroupTyping();

Megjegyzések

A vezérlő a következő beírási műveletet ( ha van ilyen) egy új műveletbe tárolja a visszavonási várólistában.

További információt a Windows SDK-ban talál EM_STOPGROUPTYPING .

CRichEditCtrl::StreamIn

Az objektum szövegét CRichEditCtrl lecseréli a megadott bemeneti adatfolyamból származó szövegre.

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

Paraméterek

nFormat
A bemeneti adatformátumokat meghatározó jelzők. További információért tekintse meg a Megjegyzések szakaszt.

es
EDITSTREAM a bemeneti adatfolyamot meghatározó struktúra. További információért tekintse meg a Megjegyzések szakaszt.

Visszaadott érték

A bemeneti adatfolyamból beolvasott karakterek száma.

Megjegyzések

Az értéknek a következők egyikének nFormat kell lennie:

  • SF_TEXT Csak olvasási szöveget jelez.

  • SF_RTF A szöveg és a formázás olvasását jelzi.

Ezen értékek bármelyike kombinálható a .SFF_SELECTION Ha SFF_SELECTION meg van adva, StreamIn az aktuális kijelölést cserélje le a bemeneti adatfolyam tartalmára. Ha nincs megadva, StreamIn az objektum teljes tartalmát lecseréli CRichEditCtrl .

A paraméterben EDITSTREAMesmeg kell adnia egy visszahívási függvényt, amely szöveggel tölti ki a puffert. Ezt a visszahívási függvényt a rendszer többször hívja meg, amíg a bemeneti adatfolyam ki nem merül.

További információ: EM_STREAMIN üzenet és EDITSTREAM struktúra a Windows SDK-ban.

Example

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

Kiírja az objektum tartalmát CRichEditCtrl a megadott kimeneti adatfolyamba.

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

Paraméterek

nFormat
A kimeneti adatformátumokat meghatározó jelzők. További információért tekintse meg a Megjegyzések szakaszt.

es
EDITSTREAM a kimeneti streamet meghatározó struktúra. További információért tekintse meg a Megjegyzések szakaszt.

Visszaadott érték

A kimeneti streambe írt karakterek száma.

Megjegyzések

Az értéknek a következők egyikének nFormat kell lennie:

  • SF_TEXT Csak szöveg írását jelzi.

  • SF_RTF Szöveg és formázás írását jelzi.

  • SF_RTFNOOBJS Szöveg és formázás írását jelzi, az OLE-elemek szóközökkel való helyettesítését.

  • SF_TEXTIZED A szöveg és a formázás írását jelzi az OLE-elemek szöveges ábrázolása mellett.

Ezen értékek bármelyike kombinálható a .SFF_SELECTION Ha SFF_SELECTION meg van adva, StreamOut írja ki az aktuális kijelölést a kimeneti adatfolyamba. Ha nincs megadva, StreamOut az objektum teljes tartalmát CRichEditCtrl kiírja.

A paraméterben EDITSTREAMesmeg kell adnia egy visszahívási függvényt, amely szöveggel tölti ki a puffert. Ezt a visszahívási függvényt a függvény ismételten meghívja, amíg a kimeneti adatfolyam ki nem merül.

További információ: EM_STREAMOUT üzenet és EDITSTREAM struktúra a Windows SDK-ban.

Example

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

Visszavonja a rich edit vezérlőelem utolsó műveletét.

BOOL Undo();

Visszaadott érték

Nonzero, ha a visszavonási művelet sikeres; ellenkező esetben 0.

Megjegyzések

A visszavonási művelet is visszavonható. Visszaállíthatja például a törölt szöveget az első hívással Undo. Ha nincs beavatkozó szerkesztési művelet, a szöveget ismét eltávolíthatja egy második hívással Undo.

További információt a Windows SDK-ban talál EM_UNDO .

Example

Lásd a példát a CanUndo.

Lásd még

MFC-minta WORDPAD
CWnd osztály
hierarchiadiagram
CEdit osztály
CRichEditView osztály