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


CEdit 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 Windows szerkesztési vezérlő funkcióit biztosítja.

Szemantika

class CEdit : public CWnd

Tagok

Nyilvános konstruktorok

Név Description
CEdit::CEdit Vezérlőobjektumot CEdit hoz létre.

Nyilvános metódusok

Név Description
CEdit::CanUndo Meghatározza, hogy visszavonható-e a szerkesztés-vezérlési művelet.
CEdit::CharFromPos Lekéri a megadott pozícióhoz legközelebb eső karakter sor- és karakterindexeit.
CEdit::Clear Törli (törli) az aktuális kijelölést (ha van ilyen) a szerkesztési vezérlőben.
CEdit::Copy Másolja az aktuális kijelölést (ha van ilyen) a szerkesztési vezérlőben a vágólapra CF_TEXT formátumban.
CEdit::Létrehozás Létrehozza a Windows szerkesztési vezérlőt, és csatolja az CEdit objektumhoz.
CEdit::Kivágás Törli (kivágja) az aktuális kijelölést (ha van ilyen) a szerkesztési vezérlőben, és a törölt szöveget CF_TEXT formátumban másolja a vágólapra.
CEdit::EmptyUndoBuffer Visszaállítja (törli) a szerkesztési vezérlő visszavonási jelzőjének jelölését.
CEdit::FmtLines Beállítja a vonaltörési karakterek be- és kikapcsolását egy többsoros szerkesztési vezérlőn belül.
CEdit::GetCueBanner Beolvassa a szövegkijelként vagy tippként megjelenő szöveget egy szerkesztési vezérlőben, ha a vezérlőelem üres, és nincs fókusza.
CEdit::GetFirstVisibleLine Meghatározza a szerkesztési vezérlő legfelül látható vonalát.
CEdit::GetHandle Lekéri a leírót a többsoros szerkesztési vezérlőhöz jelenleg lefoglalt memóriába.
CEdit::GetHighlight Az aktuális szerkesztési vezérlőben kiemelt szövegtartomány kezdő és befejező karaktereinek indexeit adja meg.
CEdit::GetLimitText Lekéri a szöveg maximális mennyiségét CEdit .
CEdit::GetLine Beolvassa a szövegsort egy szerkesztési vezérlőből.
CEdit::GetLineCount Többsoros szerkesztési vezérlőben lévő sorok számát kéri le.
CEdit::GetMargins Ehhez lekéri a bal és a jobb margót CEdit.
CEdit::GetModify Meghatározza, hogy a szerkesztési vezérlő tartalma módosult-e.
CEdit::GetPasswordChar Beolvassa a szerkesztési vezérlőben megjelenő jelszó karaktert, amikor a felhasználó szöveget ír be.
CEdit::GetRect Lekéri egy szerkesztési vezérlő formázási téglalapját.
CEdit::GetSel Beolvashatja az aktuális kijelölés első és utolsó karakterpozícióját egy szerkesztési vezérlőben.
CEdit::HideBalloonTip Elrejti az aktuális szerkesztési vezérlőhöz társított buborékhegyeket.
CEdit::LimitText Korlátozza annak a szövegnek a hosszát, amelyet a felhasználó be tud írni egy szerkesztési vezérlőbe.
CEdit::LineFromChar Lekéri a megadott karakterindexet tartalmazó sor sorszámát.
CEdit::LineIndex Egy vonal karakterindexét kéri le egy többsoros szerkesztési vezérlőn belül.
CEdit::LineLength Beolvassa egy sor hosszát egy szerkesztési vezérlőben.
CEdit::LineScroll Többsoros szerkesztési vezérlő szövegének görgetése.
CEdit::P aste Beszúrja a vágólapról származó adatokat a szerkesztési vezérlőbe az aktuális kurzorpozícióban. Az adatok csak akkor lesznek beszúrva, ha a vágólap CF_TEXT formátumú adatokat tartalmaz.
CEdit::P osFromChar Egy adott karakterindex bal felső sarkának koordinátáit kéri le.
CEdit::ReplaceSel A szerkesztési vezérlőelem aktuális kijelölését lecseréli a megadott szövegre.
CEdit::SetCueBanner Ha a vezérlőelem üres, és nincs fókusza, a szerkesztési vezérlőben beállítja a szövegjelzésként vagy tippként megjelenő szöveget.
CEdit::SetHandle Beállítja a fogópontot a többsoros szerkesztési vezérlő által használni kívánt helyi memóriára.
CEdit::SetHighlight Az aktuális szerkesztési vezérlőben megjelenő szövegtartomány kiemelése.
CEdit::SetLimitText Beállítja a szöveg CEdit maximális mennyiségét.
CEdit::SetMargins A bal és a jobb margó beállítása ehhez CEdita beállításhoz.
CEdit::SetModify Beállítja vagy törli a módosításjelzőt egy szerkesztési vezérlőhöz.
CEdit::SetPasswordChar Beállít vagy eltávolít egy jelszó karaktert, amely a szerkesztési vezérlőben jelenik meg, amikor a felhasználó szöveget ír be.
CEdit::SetReadOnly Egy szerkesztési vezérlő írásvédett állapotát állítja be.
CEdit::SetRect Beállítja egy többsoros szerkesztési vezérlő formázási téglalapját, és frissíti a vezérlőt.
CEdit::SetRectNP Többsoros szerkesztési vezérlő formázási téglalapját állítja be a vezérlőablak újraírása nélkül.
CEdit::SetSel Kijelöl egy karaktertartományt egy szerkesztési vezérlőben.
CEdit::SetTabStops A tabulátorok beállítása többsoros szerkesztési vezérlőben.
CEdit::ShowBalloonTip Az aktuális szerkesztési vezérlőhöz társított buborékhegyet jeleníti meg.
CEdit::Visszavonás Megfordítja az utolsó szerkesztés-vezérlési műveletet.

Megjegyzések

A szerkesztési vezérlő egy négyszögletes gyermekablak, amelyben a felhasználó szöveget írhat be.

Szerkesztési vezérlőt párbeszédpanelsablonból vagy közvetlenül a kódból is létrehozhat. Mindkét esetben először hívja meg a konstruktort CEdit az CEdit objektum létrehozásához, majd hívja meg a Tag létrehozása függvényt a Windows szerkesztési vezérlőjének létrehozásához és az CEdit objektumhoz való csatolásához.

Az építés egy egylépéses folyamat lehet egy osztályban, amely a következőből CEditszármazik: . Írjon konstruktort a származtatott osztályhoz, és hívja meg Create a konstruktoron belülről.

CEdita jelentős funkciókat örököl.CWnd Ha szöveget szeretne beállítani és lekérni egy CEdit objektumból, használja a SetWindowText és a CWndGetWindowText tagfüggvényeket, amelyek egy szerkesztési vezérlő teljes tartalmát beállítják vagy lekérik, még akkor is, ha többsoros vezérlőelemről van szó. A többsoros vezérlőelem szövegsorait "\r\n' karaktersorozatok választják el egymástól. Ha egy szerkesztési vezérlő többsoros, kérje le és állítsa be a vezérlő szövegének egy részét a GetLine, a SetSel, a GetSel és a CEditReplaceSel tagfüggvény meghívásával.

Ha egy szerkesztési vezérlő által a szülőnek küldött Windows-értesítési üzeneteket szeretné kezelni (általában egy osztályból CDialogszármazik), adjon hozzá egy üzenettérkép-bejegyzést és egy üzenetkezelő tagfüggvényt a szülőosztályhoz minden egyes üzenethez.

Minden üzenettérkép-bejegyzés a következő formában történik:

ON_NOTIFICATION(id;memberFxn)

ahol id megadja az értesítést küldő szerkesztési vezérlő gyermekablak-azonosítóját, és memberFxn az értesítés kezeléséhez írt szülőtagfüggvény nevét.

A szülő függvény prototípusa a következő:

afx_msg void memberFxn ( );

Az alábbiakban felsoroljuk a lehetséges üzenettérkép-bejegyzéseket, valamint azoknak az eseteknek a leírását, amelyekben a rendszer elküldi őket a szülőnek:

  • ON_EN_CHANGE A felhasználó olyan műveletet hajtott végre, amely módosította a szöveget egy szerkesztési vezérlőben. A EN_UPDATE értesítési üzenettől eltérően ezt az értesítési üzenetet a Windows a megjelenítés frissítése után küldi el.

  • ON_EN_ERRSPACE A szerkesztési vezérlő nem tud elegendő memóriát lefoglalni egy adott kérés teljesítéséhez.

  • ON_EN_HSCROLL A felhasználó egy szerkesztési vezérlő vízszintes görgetősávjára kattint. A szülőablak a képernyő frissítése előtt értesítést kap.

  • ON_EN_KILLFOCUS A szerkesztési vezérlő elveszíti a bemeneti fókuszt.

  • ON_EN_MAXTEXT Az aktuális beszúrás túllépte a szerkesztési vezérlő megadott számú karakterét, és csonkolt. Akkor is elküldve, ha egy szerkesztési vezérlő nem rendelkezik a ES_AUTOHSCROLL stílusával, és a beszúrandó karakterek száma meghaladja a szerkesztési vezérlő szélességét. Akkor is elküldve, ha egy szerkesztési vezérlő nem rendelkezik a ES_AUTOVSCROLL stílussal, és a szöveg beszúrásából eredő sorok teljes száma meghaladja a szerkesztési vezérlő magasságát.

  • ON_EN_SETFOCUS Elküldve, amikor egy szerkesztési vezérlő megkapja a bemeneti fókuszt.

  • ON_EN_UPDATE A szerkesztési vezérlő módosított szöveget jelenít meg. Miután a vezérlő formázta a szöveget, de mielőtt képernyőre került volna, a szöveget úgy küldi el, hogy szükség esetén az ablak mérete módosítható legyen.

  • ON_EN_VSCROLL A felhasználó egy szerkesztési vezérlő függőleges görgetősávjára kattint. A szülőablak a képernyő frissítése előtt értesítést kap.

Ha egy CEdit párbeszédpanelen belül hoz létre objektumot, a rendszer automatikusan megsemmisíti az CEdit objektumot, amikor a felhasználó bezárja a párbeszédpanelt.

Ha egy párbeszédpanel-erőforrásból hoz létre CEdit objektumot a párbeszédpanel-szerkesztő használatával, az CEdit objektum automatikusan megsemmisül, amikor a felhasználó bezárja a párbeszédpanelt.

Ha egy objektumot CEdit egy ablakban hoz létre, előfordulhat, hogy azt is el kell pusztítania. Ha létrehozza az CEdit objektumot a veremen, az automatikusan megsemmisül. Ha a függvény használatával hozza létre az CEdit objektumot a new halomra, akkor az objektumot fel kell hívnia delete , hogy semmisítse meg, amikor a felhasználó leállítja a Windows szerkesztési vezérlőt. Ha bármilyen memóriát lefoglal az CEdit objektumban, felülbírálja a CEdit destruktort a foglalások törléséhez.

Ha módosítani szeretne bizonyos stílusokat egy szerkesztési vezérlőben (például ES_READONLY), a ModifyStyle használata helyett konkrét üzeneteket kell küldenie a vezérlőnek. Lásd: Vezérlőstílusok szerkesztése a Windows SDK-ban.

További információ: CEditVezérlők.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CEdit

Requirements

Fejléc: afxwin.h

CEdit::CanUndo

Hívja meg ezt a függvényt annak megállapításához, 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ó: EM_CANUNDO a Windows SDK-ban.

Example

Lásd a CEdit::Undo példát.

CEdit::CEdit

Egy CEdit objektumot hoz létre.

CEdit();

Megjegyzések

A Létrehozás parancsot használva létrehozhatja a Windows szerkesztési vezérlőt.

Example

// Declare a local CEdit object.
CEdit myEdit;

// Declare a dynamic CEdit object.
CEdit *pmyEdit = new CEdit;

CEdit::CharFromPos

A függvény meghívása a vezérlőelem megadott pontjának CEdit legközelebbi karakter nullaalapú vonalának és karakterindexeinek lekéréséhez

int CharFromPos(CPoint pt) const;

Paraméterek

Pt
Az objektum ügyfélterületének egy pontjának koordinátái CEdit .

Visszaadott érték

Az alacsonyrendű WORD karakterindexe, a sorindex pedig a magasrendű WORDben.

Megjegyzések

Megjegyzés:

Ez a tagfüggvény a Windows 95-től és a Windows NT 4.0-tól érhető el.

További információ: EM_CHARFROMPOS a Windows SDK-ban.

Example

// CMyEdit inherits from CEdit
void CMyEdit::OnLButtonDown(UINT nFlags, CPoint point)
{
   int n = CharFromPos(point);
   int nLineIndex = HIWORD(n);
   int nCharIndex = LOWORD(n);
   TRACE(_T("nLineIndex = %d, nCharIndex = %d\r\n"), nLineIndex, nCharIndex);

   CEdit::OnLButtonDown(nFlags, point);
}

CEdit::Clear

Hívja meg ezt a függvényt, hogy törölje (törölje) az aktuális kijelölést (ha van ilyen) a szerkesztési vezérlőben.

void Clear();

Megjegyzések

Az elvégzett Clear törlés visszavonható a Visszavonás tagfüggvény meghívásával.

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 Tag kivágása függvényt.

További információ: WM_CLEAR a Windows SDK-ban.

Example

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

CEdit::Copy

Hívja meg ezt a függvényt, hogy a szerkesztési vezérlőben lévő aktuális kijelölést (ha van ilyen) CF_TEXT formátumban a vágólapra állítsa.

void Copy();

Megjegyzések

További információ: WM_COPY a Windows SDK-ban.

Example

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

CEdit::Létrehozás

Létrehozza a Windows szerkesztési vezérlőt, és csatolja az CEdit 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. A szerkesztési stílusok bármilyen kombinációját alkalmazhatja a vezérlőelemre.

téglalap
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 (általában 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; egyéb esetben 0.

Megjegyzések

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

Amikor Create végrehajtja, a Windows elküldi a WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE és WM_GETMINMAXINFO üzeneteket a szerkesztési vezérlőnek.

Ezeket az üzeneteket alapértelmezés szerint az alaposztály OnNcCreate, OnNcCalcSize, OnCreate és OnGetMinMaxInfo tagfüggvényei CWnd kezelik. Az alapértelmezett üzenetkezelés kibővítéséhez származtassunk egy osztályt CEdit, 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 Always

  • WS_VISIBLE általában

  • WS_DISABLED ritkán

  • WS_GROUP Csoportvezérlők

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

Example

// dynamically create an edit control
CEdit *pEdit = new CEdit;
pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
              CRect(10, 10, 100, 100), this, 1);

CEdit::Kivágás

Hívja meg ezt a függvényt, hogy törölje (vágja ki) az aktuális kijelölést (ha van ilyen) a szerkesztési vezérlőben, és másolja a törölt szöveget a vágólapra CF_TEXT formátumban.

void Cut();

Megjegyzések

Az elvégzett Cut törlés visszavonható a Visszavonás tagfüggvény meghívásával.

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 Tag törlése függvényt.

További információ: WM_CUT a Windows SDK-ban.

Example

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

CEdit::EmptyUndoBuffer

Hívja meg ezt a függvényt, hogy visszaállítsa (törölje) a szerkesztési vezérlő visszavonási jelzőjének jelölését.

void EmptyUndoBuffer();

Megjegyzések

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

A visszavonási jelző automatikusan törlődik a SetWindowText vagy a SetHandleCWnd tagfüggvények meghívásakor.

További információ: EM_EMPTYUNDOBUFFER a Windows SDK-ban.

Example

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

CEdit::FmtLines

Hívja meg ezt a függvényt, hogy be- vagy kikapcsolja a helyreállítható vonaltörési karaktereket egy többsoros szerkesztési vezérlőben.

BOOL FmtLines(BOOL bAddEOL);

Paraméterek

bAddEOL
Megadja, hogy beszúrhatók-e a helyreállítható sortörési karakterek. Az IGAZ érték beszúrja a karaktereket; a HAMIS érték eltávolítja őket.

Visszaadott érték

Nem kötelező, ha bármilyen formázás történik; egyéb esetben 0.

Megjegyzések

A puha vonaltörés két kocsivisszaadásból és egy sortörésből áll, amelyek a szóburkolás miatt megszakadt vonal végére kerülnek. A kemény vonaltörés egy kocsivisszatolásból és egy sorbetöltésből áll. A kemény vonaltöréssel végződő vonalakat a rendszer nem befolyásolja FmtLines.

A Windows csak akkor válaszol, ha az CEdit objektum többsoros szerkesztési vezérlő.

FmtLines csak a GetHandle által visszaadott pufferre és a WM_GETTEXT által visszaadott szövegre van hatással. Nincs hatással a szöveg szerkesztési vezérlőn belüli megjelenítésére.

További információ: EM_FMTLINES a Windows SDK-ban.

Example

CString strText;

// Add soft line-break breaks.
m_myEdit.FmtLines(TRUE);

// Dump the text of the edit control.
m_myEdit.GetWindowText(strText);
AFXDUMP(strText);

// Remove soft line-break breaks.
m_myEdit.FmtLines(FALSE);

CEdit::GetCueBanner

Lekéri a szövegkijelként vagy tippként megjelenő szöveget egy szerkesztési vezérlőben, ha a vezérlőelem üres.

BOOL GetCueBanner(
    LPWSTR lpszText,
    int cchText) const;

CString GetCueBanner() const;

Paraméterek

lpszText
[kifelé] Mutató egy sztringre, amely a végszó szövegét tartalmazza.

cchText
[in] A fogadható karakterek száma. Ez a szám tartalmazza a végződő NULL karaktert.

Visszaadott érték

Az első túlterhelés esetén IGAZ, ha a módszer sikeres; egyéb esetben HAMIS.

A második túlterhelés esetén egy CString , amely tartalmazza a cue szöveget, ha a módszer sikeres; ellenkező esetben az üres sztring ("").

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt EM_GETCUEBANNER üzenetet. További információ: Edit_GetCueBannerText makró.

CEdit::GetFirstVisibleLine

Hívja meg ezt a függvényt a szerkesztési vezérlő legfelül látható vonalának meghatározásához.

int GetFirstVisibleLine() const;

Visszaadott érték

A legfelső látható vonal nulla alapú indexe. Egysoros szerkesztési vezérlők esetén a visszatérési érték 0.

Megjegyzések

További információ: EM_GETFIRSTVISIBLELINE a Windows SDK-ban.

Example

int nFirstVisible = m_myEdit.GetFirstVisibleLine();

// Scroll the edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
   m_myEdit.LineScroll(-nFirstVisible, 0);
}

CEdit::GetHandle

Hívja meg ezt a függvényt, hogy lekérjen egy leírót a többsoros szerkesztési vezérlőhöz jelenleg lefoglalt memóriához.

HLOCAL GetHandle() const;

Visszaadott érték

Egy helyi memóriafogantyú, amely azonosítja a szerkesztési vezérlő tartalmát tartalmazó puffert. Ha hiba történik, például egysoros szerkesztési vezérlőnek küldi el az üzenetet, a visszatérési érték 0.

Megjegyzések

A fogópont egy helyi memóriafogantyú, és bármely helyi Windows memóriafüggvény használhatja, amely paraméterként helyi memórialeírót használ.

GetHandle csak többsoros szerkesztési vezérlők dolgozzák fel.

Csak akkor hívjon GetHandle meg többsoros szerkesztési vezérlőt egy párbeszédpanelen, ha a párbeszédpanel a DS_LOCALEDIT stílusjelölőkészlettel lett létrehozva. Ha a DS_LOCALEDIT stílus nincs beállítva, akkor is kap egy nem visszatérési értéket, de nem fogja tudni használni a visszaadott értéket.

Megjegyzés:

GetHandle Nem működik a Windows 95/98. Ha a Windows 95/98-ban hív GetHandle , az NULL értéket ad vissza. GetHandle a Windows NT 3.51-ös és újabb verzióiban dokumentált módon fog működni.

További információ: EM_GETHANDLE a Windows SDK-ban.

Example

HLOCAL h = m_myEdit.GetHandle();
LPCTSTR lpszText = (LPCTSTR)::LocalLock(h);

// Dump the text of the edit control.
AFXDUMP(lpszText);

::LocalUnlock(h);

CEdit::GetHighlight

Lekéri az aktuális szerkesztési vezérlőben kiemelt szövegtartomány első és utolsó karakterének indexeit.

BOOL GetHighlight(
    int* pichStart,
    int* pichEnd) const;

Paraméterek

pichStart
[kifelé] A kiemelt szövegtartomány első karakterének nullaalapú indexe.

pichEnd
[kifelé] A kijelölt szövegtartomány utolsó karakterének nulla alapú indexe.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt EM_GETHILITE üzenetet. Mindkettő SetHighlight , és GetHighlight jelenleg csak UNICODE-buildekhez van engedélyezve.

CEdit::GetLimitText

Hívja meg ezt a tagfüggvényt az objektum szövegkorlátjának lekéréséhez CEdit .

UINT GetLimitText() const;

Visszaadott érték

Az objektum aktuális szövegkorlátja a TCHAR-ben CEdit .

Megjegyzések

A szövegkorlát az a maximális szövegmennyiség a TCHAR-ben, amelyet a szerkesztési vezérlő elfogadhat.

Megjegyzés:

Ez a tagfüggvény a Windows 95-től és a Windows NT 4.0-tól érhető el.

További információ: EM_GETLIMITTEXT a Windows SDK-ban.

Example

CString strText(_T("I'm an edit control!"));
UINT nLength = strText.GetLength() * sizeof(TCHAR);

// Want the text limit to be at least the size of the new string.
if (m_myEdit.GetLimitText() < nLength)
   m_myEdit.SetLimitText(nLength);

m_myEdit.SetWindowText(strText);

CEdit::GetLine

Hívja meg ezt a függvényt, hogy lekérjen egy szövegsort egy szerkesztési vezérlőből, és helyezze el az lpszBufferben.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

Paraméterek

nIndex
Megadja a többsoros szerkesztési vezérlőből lekérendő sorszámot. A vonalszámok nulla alapúak; a 0 érték az első sort adja meg. Ezt a paramétert egy egysoros szerkesztési vezérlő figyelmen kívül hagyja.

lpszBuffer
A sor másolatát fogadó pufferre mutat. A puffer első szava határozza meg a pufferbe másolható TCHAR-ek maximális számát.

nMaxLength
Megadja a pufferbe másolható TCHAR-karakterek maximális számát. GetLine ezt az értéket az lpszBuffer első szava elé helyezi, mielőtt meghívja a Windowst.

Visszaadott érték

A ténylegesen másolt karakterek száma. A visszatérési érték 0, ha az nIndex által megadott sorszám nagyobb, mint a szerkesztési vezérlőben lévő sorok száma.

Megjegyzések

A másolt sor nem tartalmaz null-végződésű karaktert.

További információ: EM_GETLINE a Windows SDK-ban.

Example

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

CEdit::GetLineCount

Hívja meg ezt a függvényt a többsoros szerkesztési vezérlőelemben lévő sorok számának lekéréséhez.

int GetLineCount() const;

Visszaadott érték

Egy egész szám, amely a többsoros szerkesztési vezérlőben lévő sorok számát tartalmazza. Ha nem írt be szöveget a szerkesztési vezérlőbe, a visszatérési érték 1.

Megjegyzések

GetLineCount csak többsoros szerkesztési vezérlők dolgozzák fel.

További információ: EM_GETLINECOUNT a Windows SDK-ban.

Example

int i, nLineCount = m_myEdit.GetLineCount();
CString strText, strLine;
// Dump every line of text of the edit control.
for (i = 0; i < nLineCount; i++)
{
   // length of line i:
   int len = m_myEdit.LineLength(m_myEdit.LineIndex(i));
   m_myEdit.GetLine(i, strText.GetBuffer(len), len);
   strText.ReleaseBuffer(len);
   strLine.Format(_T("line %d: '%s'\n"), i, strText);
   AFXDUMP(strLine);
}

CEdit::GetMargins

Hívja meg ezt a tagfüggvényt a szerkesztési vezérlő bal és jobb margóinak lekéréséhez.

DWORD GetMargins() const;

Visszaadott érték

A bal margó szélessége az alacsony sorrendű WORD-ben és a jobb margó szélessége a nagyrendű WORD-ben.

Megjegyzések

A margók képpontban vannak megmérve.

Megjegyzés:

Ez a tagfüggvény a Windows 95-től és a Windows NT 4.0-tól érhető el.

További információ: EM_GETMARGINS a Windows SDK-ban.

Example

Lásd a CEditView::GetEditCtrl példát.

CEdit::GetModify

Hívja meg ezt a függvényt annak megállapításához, hogy a szerkesztési vezérlő tartalma módosult-e.

BOOL GetModify() const;

Visszaadott érték

Nem kötelező, ha a szerkesztés-vezérlés tartalma módosult; 0, ha változatlanok maradtak.

Megjegyzések

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

További információ: EM_GETMODIFY a Windows SDK-ban.

Example

// Reset the modified state only if my edit has been modified.
if (m_myEdit.GetModify())
   m_myEdit.SetModify(FALSE);

CEdit::GetPasswordChar

Hívja meg ezt a függvényt a szerkesztési vezérlőben megjelenő jelszó karakter lekéréséhez, amikor a felhasználó szöveget ír be.

TCHAR GetPasswordChar() const;

Visszaadott érték

A felhasználó által beírt karakter helyett megjelenítendő karaktert adja meg. A visszatérési érték NULL értékű, ha nincs jelszó karakter.

Megjegyzések

Ha ES_PASSWORD stílussal hozza létre a szerkesztési vezérlőt, a vezérlőt támogató DLL határozza meg az alapértelmezett jelszó karaktert. A jegyzékfájl vagy az InitCommonControlsEx metódus határozza meg, hogy melyik DLL támogatja a szerkesztési vezérlőt. Ha user32.dll támogatja a szerkesztési vezérlőt, az alapértelmezett jelszó karakter az ASTERISK ('*', U+002A). Ha comctl32.dll 6-os verzió támogatja a szerkesztési vezérlőt, az alapértelmezett karakter a BLACK CIRCLE ('●', U+25CF). További információ arról, hogy melyik DLL és verzió támogatja a közös vezérlőket: Shell és Common Controls Versions.

Ez a metódus elküldi a Windows SDK-ban leírt EM_GETPASSWORDCHAR üzenetet.

Example

// Turn on the password mode.
m_myEdit.SetPasswordChar('*');
ASSERT(m_myEdit.GetStyle() & ES_PASSWORD);
ASSERT(m_myEdit.GetPasswordChar() == '*');

CEdit::GetRect

Hívja meg ezt a függvényt egy szerkesztési vezérlő formázási téglalapjának lekéréséhez.

void GetRect(LPRECT lpRect) const;

Paraméterek

lpRect
A formázási RECT téglalapot fogadó struktúrára mutat.

Megjegyzések

A formázási téglalap a szöveg korlátos téglalapja, amely független a szerkesztés-vezérlési ablak méretétől.

A többsoros szerkesztési vezérlő formázási téglalapját a SetRect és a SetRectNP tagfüggvények módosíthatják.

További információ: EM_GETRECT a Windows SDK-ban.

Example

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

CEdit::GetSel

Hívja meg ezt a függvényt, hogy bekérje az aktuális kijelölés kezdő és befejező karakterpozícióit (ha vannak ilyenek) egy szerkesztési vezérlőben a visszatérési érték vagy a paraméterek használatával.

DWORD GetSel() const;

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

Paraméterek

nStartChar
Hivatkozás egy egész számra, amely az aktuális kijelölés első karakterének pozícióját kapja.

nEndChar
Hivatkozás egy egész számra, amely az első nem kijelölt karakter pozícióját kapja az aktuális kijelölés végén.

Visszaadott érték

A DWORD-t visszaadó verzió egy olyan értéket ad vissza, amely az alacsony sorrendű szó kezdő pozícióját és az első nem kijelölt karakter pozícióját tartalmazza a kijelölés befejezése után a magasrendű szóban.

Megjegyzések

További információ: EM_GETSEL a Windows SDK-ban.

Example

// Set the selection to be all characters after the current selection.
DWORD dwSel = m_myEdit.GetSel();
m_myEdit.SetSel(HIWORD(dwSel), -1);

CEdit::HideBalloonTip

Elrejti az aktuális szerkesztési vezérlőhöz társított buborékhegyeket.

BOOL HideBalloonTip();

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a függvény elküldi a Windows SDK-ban leírt EM_HIDEBALLOONTIP üzenetet.

CEdit::LimitText

Hívja meg ezt a függvényt, hogy korlátozza a felhasználó által a szerkesztési vezérlőbe beírt szöveg hosszát.

void LimitText(int nChars = 0);

Paraméterek

nChars
Megadja a felhasználó által megadható szöveg hosszát (TCHAR-ben). Ha ez a paraméter 0, a szöveg hossza UINT_MAX bájtra van állítva. Ez az alapértelmezett viselkedés.

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ő vezérlőelembe a SetWindowText tagfüggvény által a szerkesztési vezérlőbe másolt szöveg hosszát CWndsem. 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 Win32 -ben (Windows NT és Windows 95/98) a SetLimitText helyettesíti ezt a függvényt.

További információ: EM_LIMITTEXT a Windows SDK-ban.

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_myEdit.GetDC();
pDC->GetTextMetrics(&tm);
m_myEdit.ReleaseDC(pDC);

CRect r;
m_myEdit.GetRect(&r);
m_myEdit.LimitText(r.Width() / tm.tmAveCharWidth);

CEdit::LineFromChar

Hívja meg ezt a függvényt a megadott karakterindexet tartalmazó sor sorszámának lekéréséhez.

int LineFromChar(int nIndex = -1) 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 az nIndex -1, akkor az aktuális sort, vagyis azt a vonalat adja meg, amely a gondviselést tartalmazza.

Visszaadott érték

Az nIndex által megadott karakterindexet tartalmazó vonal nullaalapú vonalszáma. Ha az nIndex értéke -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 szerkesztési vezérlő elejétől kezdődő karakterek száma.

Ezt a tagfüggvényt csak többsoros szerkesztési vezérlők használják.

További információ: EM_LINEFROMCHAR a Windows SDK-ban.

Example

// The index of the char to get information on.
int nIndex = 4;
CString strText;

m_myEdit.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);

// Get the text extent of the character.
CDC *pDC = m_myEdit.GetDC();
CSize sz = pDC->GetTextExtent(strText);
m_myEdit.ReleaseDC(pDC);

CPoint pt = m_myEdit.PosFromChar(nIndex);

// Dump the index, character, line number, and character bounds.
TRACE(_T("nIndex = %d, character = %c, line = %d, bounds = ")
      _T("{%d, %d, %d, %d}\r\n"),
      nIndex, strText[0], m_myEdit.LineFromChar(nIndex),
      pt.x /* left */, pt.y /* top */,
      pt.x + sz.cx /* right */, pt.y + sz.cy /* bottom */);

CEdit::LineIndex

A függvény meghívásával lekérheti egy vonal karakterindexét egy többsoros szerkesztési vezérlőn belül.

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 az nLine -1, akkor az aktuális sort, vagyis azt a sort adja meg, amely a gondozást tartalmazza.

Visszaadott érték

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

Megjegyzések

A karakterindex a szerkesztési vezérlő elejétől a megadott sorig lévő karakterek száma.

Ezt a tagfüggvényt csak többsoros szerkesztési vezérlők dolgozzák fel.

További információ: EM_LINEINDEX a Windows SDK-ban.

Example

// The string for replacing.
CString strString(_T("Hi, we're the replacements."));
int nBegin, nEnd;

// Replace the second line, if it exists, of the edit control
// with the text strString.
if ((nBegin = m_myEdit.LineIndex(1)) != -1)
{
   nEnd = nBegin + m_myEdit.LineLength(nBegin);
   m_myEdit.SetSel(nBegin, nEnd);
   m_myEdit.ReplaceSel(strString);
}

CEdit::LineLength

Beolvassa egy sor hosszát egy szerkesztési vezérlőben.

int LineLength(int nLine = -1) const;

Paraméterek

nLine
Egy olyan karakter nullaalapú indexe, amelynek a hosszát le kell kérni. Az alapértelmezett érték -1.

Visszaadott érték

Az egysoros szerkesztési vezérlők esetében a visszatérési érték a szerkesztési vezérlő szövegének hossza a TCHAR-ben.

Többsoros szerkesztési vezérlők esetén a visszatérési érték az nLine paraméter által megadott sor hossza a TCHAR-ben. ANSI-szöveg esetén a hossz a sor bájtjainak száma; Unicode-szöveg esetén a hossz a sorban szereplő karakterek száma. A hossz nem tartalmazza a sor végén található kocsivissza karaktert.

Ha az nLine paraméter nagyobb, mint a vezérlőelemben lévő karakterek száma, a visszatérési érték nulla.

Ha az nLine paraméter -1, a visszatérési érték a kijelölt karaktereket tartalmazó sorokban nem kijelölt karakterek száma. Ha például a kijelölés egy sor negyedik karakterétől a következő sor végétől a nyolcadik karakterig terjed, a visszatérési érték 10. Vagyis az első sorban három karakter, a következőben pedig hét karakter.

A TCHAR típusával kapcsolatos további információkért tekintse meg a Windows adattípusok táblájának TCHAR sorát.

Megjegyzések

Ezt a módszert támogatja a Windows SDK-ban leírt EM_LINELENGTH üzenet.

Example

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

CEdit::LineScroll

A függvény meghívásával görgetheti egy többsoros szerkesztési vezérlő szövegét.

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 szerkesztési vezérlő ES_RIGHT vagy ES_CENTER stílust használ.

Megjegyzések

Ezt a tagfüggvényt csak többsoros szerkesztési vezérlők dolgozzák fel.

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 az nLines által megadott 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 tetejére görgessen.

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

További információ: EM_LINESCROLL a Windows SDK-ban.

Example

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

CEdit::P aste

Hívja meg ezt a függvényt, hogy beszúrja a vágólap adatait a CEdit beszúrási pontba.

void Paste();

Megjegyzések

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

További információ: WM_PASTE a Windows SDK-ban.

Example

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

CEdit::P osFromChar

Hívja meg ezt a függvényt egy adott karakter pozíciójának (bal felső sarkának) lekéréséhez az CEdit objektumon belül.

CPoint PosFromChar(UINT nChar) const;

Paraméterek

nChar
A megadott karakter nulla alapú indexe.

Visszaadott érték

Az nChar által megadott karakter bal felső sarkának koordinátái.

Megjegyzések

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

Megjegyzés:

Ez a tagfüggvény a Windows 95-től és a Windows NT 4.0-tól érhető el.

További információ: EM_POSFROMCHAR a Windows SDK-ban.

Example

Lásd a CEdit::LineFromChar példát.

CEdit::ReplaceSel

Hívja meg ezt a függvényt, hogy a szerkesztési vezérlőelem aktuális kijelölését cserélje le az lpszNewText által megadott szövegre.

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

Paraméterek

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

bCanUndo
Ha meg szeretné adni, hogy a függvény visszavonható legyen, állítsa a paraméter értékét IGAZ értékre. Az alapértelmezett érték HAMIS.

Megjegyzések

Csak a szöveg egy részét cseréli le egy szerkesztési vezérlőben. Ha az összes szöveget le szeretné cserélni, használja a CWnd::SetWindowText tagfüggvényt.

Ha nincs aktuális kijelölés, a program beszúrja a helyettesítő szöveget az aktuális kurzor helyére.

További információ: EM_REPLACESEL a Windows SDK-ban.

Example

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

CEdit::SetCueBanner

A szerkesztési vezérlőben szövegkijelként vagy tippként megjelenő szöveget állítja be, ha a vezérlőelem üres.

BOOL SetCueBanner(LPCWSTR lpszText);

BOOL SetCueBanner(
    LPCWSTR lpszText,
    BOOL fDrawWhenFocused = FALSE);

Paraméterek

lpszText
[in] Mutasson egy sztringre, amely tartalmazza a szerkesztési vezérlőben megjelenítendő parancsot.

fDrawWhenFocused
[in] Ha HAMIS, akkor a rendszer nem rajzolja meg a jelszalagot, amikor a felhasználó a szerkesztési vezérlőre kattint, és a vezérlő fókuszba kerül.

Ha IGAZ, akkor a rendszer akkor is megrajzol egy sávot, ha a vezérlő fókuszban van. A jelszalag eltűnik, amikor a felhasználó elkezd begépelni a vezérlőbe.

Az alapértelmezett érték HAMIS.

Visszaadott érték

IGAZ, ha a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt EM_SETCUEBANNER üzenetet. További információ: Edit_SetCueBannerTextFocused makró.

Example

Az alábbi példa a CEdit::SetCueBanner metódust mutatja be.

m_cedit.SetCueBanner(_T("First, enter text here..."), TRUE);

CEdit::SetHandle

Hívja meg ezt a függvényt úgy, hogy a leírót a többsoros szerkesztési vezérlő által használt helyi memóriára állítsa.

void SetHandle(HLOCAL hBuffer);

Paraméterek

hBuffer
A helyi memória leíróját tartalmazza. Ezt a leírót a LocalAlloc Windows függvény előző hívásának kell létrehoznia a LMEM_MOVEABLE jelző használatával. A memória null értékű sztringet tartalmaz. Ha ez nem így van, a lefoglalt memória első bájtját 0 értékre kell állítani.

Megjegyzések

A szerkesztési vezérlő ezt a puffert fogja használni az aktuálisan megjelenített szöveg tárolására ahelyett, hogy saját puffert szeretne kiosztani.

Ezt a tagfüggvényt csak többsoros szerkesztési vezérlők dolgozzák fel.

Mielőtt egy alkalmazás beállít egy új memóriafogantyút, a GetHandle tagfüggvénnyel lekérheti a fogópontot az aktuális memóriapufferbe, és szabadíthatja fel a memóriát a LocalFree Windows függvény használatával.

SetHandle törli a visszavonási puffert (a CanUndo tagfüggvény ezután 0-t ad vissza) és a belső módosítási jelzőt (a GetModify tagfüggvény ezután 0-t ad vissza). A szerkesztési-vezérlési ablak újra van adva.

Ezt a tagfüggvényt csak akkor használhatja egy párbeszédpanel többsoros szerkesztési vezérlőjében, ha a DS_LOCALEDIT stílusjelölőkészlettel hozta létre a párbeszédpanelt.

Megjegyzés:

GetHandle Nem működik a Windows 95/98. Ha a Windows 95/98-ban hív GetHandle , az NULL értéket ad vissza. GetHandle a Windows NT 3.51-ös és újabb verzióiban dokumentált módon fog működni.

További információ: EM_SETHANDLE, LocalAlloc és LocalFree a Windows SDK-ban.

Example

// The string to set in the edit control.
CString strString(_T("George Frideric"));

// Initialize the new local handle.
size_t cbSize = (strString.GetLength() + 1) * sizeof(TCHAR);
HLOCAL h = ::LocalAlloc(LHND, cbSize);
LPTSTR lpszText = (LPTSTR)::LocalLock(h);
_tcsncpy_s(lpszText, cbSize / sizeof(TCHAR), strString, _TRUNCATE);
::LocalUnlock(h);

// Free the current text handle of the edit control.
::LocalFree(m_myEdit.GetHandle());

// Set the new text handle.
m_myEdit.SetHandle(h);

CEdit::SetHighlight

Az aktuális szerkesztési vezérlőben megjelenő szövegtartomány kiemelése.

void SetHighlight(
    int ichStart,
    int ichEnd);

Paraméterek

ichStart
[in] A kiemelendő szövegtartomány első karakterének nullaalapú indexe.

ichEnd
[in] A kiemelendő szövegtartomány utolsó karakterének nulla alapú indexe.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt EM_SETHILITE üzenetet. Ez a metódus elküldi a Windows SDK-ban leírt EM_SETHILITE üzenetet. Mindkettő SetHighlight , és GetHighlight csak UNICODE-buildekhez engedélyezett.

CEdit::SetLimitText

Hívja meg ezt a tagfüggvényt az objektum szövegkorlátjának beállításához CEdit .

void SetLimitText(UINT nMax);

Paraméterek

nMax
Az új szövegkorlát karakterekben.

Megjegyzések

A szövegkorlát a szerkesztési vezérlőelem által elfogadható maximális szövegmennyiség karakterben.

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ő vezérlőelembe a SetWindowText tagfüggvény által a szerkesztési vezérlőbe másolt szöveg hosszát CWndsem. 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.

Ez a függvény a LimitText helyére lép a Win32-ben.

További információ: EM_SETLIMITTEXT a Windows SDK-ban.

Example

Lásd a CEditView::GetEditCtrl példát.

CEdit::SetMargins

A szerkesztési vezérlő bal és jobb margójának beállításához hívja meg ezt a metódust.

void SetMargins(
    UINT nLeft,
    UINT nRight);

Paraméterek

nLeft
Az új bal margó szélessége képpontban.

nRight
Az új jobb margó szélessége képpontban.

Megjegyzések

Megjegyzés:

Ez a tagfüggvény a Windows 95-től és a Windows NT 4.0-tól érhető el.

További információ: EM_SETMARGINS a Windows SDK-ban.

Example

Lásd a CEditView::GetEditCtrl példát.

CEdit::SetModify

A függvény meghívásával beállíthatja vagy törölheti a módosított jelölőt egy szerkesztési vezérlőhöz.

void SetModify(BOOL bModified = TRUE);

Paraméterek

bModified
Az IGAZ érték azt jelzi, hogy a szöveg módosult, a HAMIS érték pedig 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ó: EM_SETMODIFY a Windows SDK-ban.

Example

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

CEdit::SetPasswordChar

Hívja meg ezt a függvényt egy szerkesztési vezérlőben megjelenő jelszó karakter beállításához vagy eltávolításához, amikor a felhasználó szöveget ír be.

void SetPasswordChar(TCHAR ch);

Paraméterek

Ch
A felhasználó által beírt karakter helyett megjelenítendő karaktert adja meg. Ha a ch 0, a felhasználó által beírt tényleges karakterek jelennek meg.

Megjegyzések

Jelszó megadásakor ez a karakter jelenik meg minden olyan karakternél, amelyet a felhasználó be van állítva.

Ez a tagfüggvény nincs hatással a többsoros szerkesztési vezérlőre.

A tagfüggvény meghívása CEdit után az SetPasswordChar összes látható karakter újrarajzolva lesz a ch által megadott karakterrel.

Ha a szerkesztési vezérlő ES_PASSWORD stílussal jön létre, az alapértelmezett jelszó karakter csillag ( *) értékre van állítva. Ez a stílus el lesz távolítva, ha SetPasswordChar a ch 0 értékre van állítva.

További információ: EM_SETPASSWORDCHAR a Windows SDK-ban.

Example

// Turn off the password mode.
m_myEdit.SetPasswordChar(0);
ASSERT(!(m_myEdit.GetStyle() & ES_PASSWORD));

CEdit::SetReadOnly

A függvény meghívása szerkesztési vezérlő írásvédett állapotának beállításához.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Paraméterek

bReadOnly
Megadja, hogy a szerkesztési vezérlő írásvédett állapotát állítsa be vagy távolítsa el. A TRUE érték az állapotot írásvédettre állítja; A HAMIS érték az olvasási/írási állapotot állítja be.

Visszaadott érték

Sikertelen, ha a művelet sikeres, vagy hiba esetén 0.

Megjegyzések

Az aktuális beállítás a CWnd::GetStyle visszatérési értékében lévő ES_READONLY jelző tesztelésével érhető el.

További információ: EM_SETREADONLY a Windows SDK-ban.

Example

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

CEdit::SetRect

Hívja meg ezt a függvényt, hogy a megadott koordináták használatával állítsa be egy téglalap méretét.

void SetRect(LPCRECT lpRect);

Paraméterek

lpRect
A formázási RECT téglalap új dimenzióit meghatározó struktúrára vagy CRect objektumra mutat.

Megjegyzések

Ezt a tagot csak többsoros szerkesztési vezérlők dolgozzák fel.

Többsoros szerkesztési vezérlő formázási téglalapjának beállítására használható SetRect . A formázási téglalap a szöveg korlátos téglalapja, amely független a szerkesztés-vezérlési ablak méretétől. A szerkesztési vezérlő első létrehozásakor a formázási téglalap megegyezik a szerkesztés-vezérlés ablak ügyfélterületével. A tagfüggvény használatával az SetRect alkalmazás a formázási téglalapot nagyobbá vagy kisebbé teheti, mint a szerkesztés-vezérlési ablak.

Ha a szerkesztési vezérlő nem rendelkezik görgetősávmal, a szöveg ki lesz vágva, nem burkolva, ha a formázási téglalap nagyobb, mint az ablak. Ha a szerkesztési vezérlő szegélyt tartalmaz, a formázási téglalap a szegély méretével csökken. Ha módosítja a tagfüggvény által GetRect visszaadott téglalapot, el kell távolítania a szegély méretét, mielőtt átengedné a téglalapot SetRect.

Amikor SetRect meghívják, a szerkesztési vezérlő szövege is újraformázásra és visszajátszásra kerül.

További információ: EM_SETRECT a Windows SDK-ban.

Example

// Flag indicating whether to redraw the edit control.
bool fRedraw = TRUE;

CRect r;

m_myEdit.GetRect(&r);

// Reduce the formatting rect of the edit control by
// 10 pixels on each side.
if ((r.Width() > 20) && (r.Height() > 20))
{
   r.DeflateRect(10, 10);

   if (fRedraw)
      m_myEdit.SetRect(&r);
   else
      m_myEdit.SetRectNP(&r);
}

CEdit::SetRectNP

Hívja meg ezt a függvényt egy többsoros szerkesztési vezérlőelem formázási téglalapjának beállításához.

void SetRectNP(LPCRECT lpRect);

Paraméterek

lpRect
RECT A téglalap új dimenzióit meghatározó szerkezetre vagy CRect objektumra mutat.

Megjegyzések

A formázási téglalap a szöveg korlátos téglalapja, amely független a szerkesztés-vezérlési ablak méretétől.

SetRectNP megegyezik a SetRect tagfüggvénysel, azzal a kivételsel, hogy a szerkesztés-vezérlés ablaka nem lesz újrarajzolt.

A szerkesztési vezérlő első létrehozásakor a formázási téglalap megegyezik a szerkesztés-vezérlés ablak ügyfélterületével. A tagfüggvény meghívásával SetRectNP az alkalmazás a formázási téglalapot nagyobbá vagy kisebbé teheti, mint a szerkesztés-vezérlési ablak.

Ha a szerkesztési vezérlő nem rendelkezik görgetősávmal, a szöveg ki lesz vágva, nem burkolva, ha a formázási téglalap nagyobb, mint az ablak.

Ezt a tagot csak többsoros szerkesztési vezérlők dolgozzák fel.

További információ: EM_SETRECTNP a Windows SDK-ban.

Example

Lásd a CEdit::SetRect példát.

CEdit::SetSel

A függvény meghívásával kijelölhet egy karaktertartományt egy szerkesztési vezérlőben.

void SetSel(
    DWORD dwSelection,
    BOOL bNoScroll = FALSE);

void SetSel(
    int nStartChar,
    int nEndChar,
    BOOL bNoScroll = FALSE);

Paraméterek

dwSelection
Az alacsonyrendű szó kezdő pozícióját és a felsőrendű szó záró pozícióját adja meg. Ha az alacsonyrendű szó 0, a magasrendű szó pedig -1, akkor a szerkesztési vezérlőben lévő összes szöveg ki van jelölve. Ha az alacsonyrendű szó -1, az aktuális kijelölés el lesz távolítva.

bNoScroll
Azt jelzi, hogy a gondozót a nézetbe kell-e görgetni. Ha HAMIS, a gondnokot a nézetbe görgeti. Ha IGAZ, a gondviselet nem görgethető a nézetbe.

nStartChar
A kezdő pozíciót adja meg. Ha az nStartChar értéke 0, az nEndChar értéke -1, a szerkesztési vezérlőben lévő összes szöveg ki van jelölve. Ha az nStartChar értéke -1, az aktuális kijelölés el lesz távolítva.

nEndChar
A záró pozíciót adja meg.

Megjegyzések

További információ: EM_SETSEL a Windows SDK-ban.

Example

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

CEdit::SetTabStops

Hívja meg ezt a függvényt, hogy többsoros szerkesztési vezérlőben állítsa be a tabulátorokat.

void SetTabStops();
BOOL SetTabStops(const int& cxEachStop);

BOOL SetTabStops(
    int nTabStops,
    LPINT rgTabStops);

Paraméterek

cxEachStop
Megadja, hogy a tabulátorokat minden cxEachStop párbeszédpanelen be kell állítani.

nTabStops
Az rgTabStops lapon található tabulátorok számát adja meg. Ennek a számnak 1-nél nagyobbnak kell lennie.

rgTabStops
A párbeszédpanel-egységekben a tabulátorok megadására szolgáló, aláíratlan egész számokból álló tömbre mutat. A párbeszédpanel-egység vízszintes vagy függőleges távolság. Egy vízszintes párbeszédpanel-egység az aktuális párbeszédpanel alapszélesség-egységének egynegyedével egyenlő, egy függőleges párbeszédpanelegység pedig az aktuális párbeszédpanel alapmagasságegységének egynyolcadával egyenlő. A párbeszédpanel alapegységei az aktuális rendszer betűtípusának magassága és szélessége alapján vannak kiszámítva. A GetDialogBaseUnits Windows függvény képpontban adja vissza az aktuális párbeszédpanel alapegységeit.

Visszaadott érték

Nemzero, ha a fülek be lettek állítva; egyéb esetben 0.

Megjegyzések

Ha a szöveg többsoros szerkesztési vezérlőbe van másolva, a szöveg bármely tabulátorjele szóközt hoz létre a következő tabulátorig.

A tabulátorok alapértelmezett méretének 32 párbeszédpanel-egységre való beállításához hívja meg ennek a tagfüggvénynek a paraméter nélküli verzióját. Ha a tabulátorokat nem 32-es méretre szeretné beállítani, hívja meg a verziót a cxEachStop paraméterrel. A tabulátorok mérettömbre való beállításához használja a verziót két paraméterrel.

Ezt a tagfüggvényt csak többsoros szerkesztési vezérlők dolgozzák fel.

SetTabStops nem módosítja automatikusan a szerkesztési ablakot. Ha módosítja a szerkesztési vezérlőben már szereplő szöveg tabulátorát, hívja meg a CWnd::InvalidateRect parancsot a szerkesztési ablak újraírásához.

További információ: EM_SETTABSTOPS és GetDialogBaseUnits a Windows SDK-ban.

Example

Lásd a CEditView::SetTabStops példát.

CEdit::ShowBalloonTip

Az aktuális szerkesztési vezérlőhöz társított buborékhegyet jeleníti meg.

BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);

BOOL ShowBalloonTip(
    LPCWSTR lpszTitle,
    LPCWSTR lpszText,
    INT ttiIcon = TTI_NONE);

Paraméterek

pEditBalloonTip
[in] Mutasson egy EDITBALLOONTIP szerkezetre, amely leírja a ballonhegyet.

lpszTitle
[in] Mutasson egy Unicode-sztringre, amely tartalmazza a ballonhegy címét.

lpszText
[in] Mutasson egy Unicode-sztringre, amely tartalmazza a buborékhegy szövegét.

ttiIcon
[in] Egy INT , amely megadja a ballonhegyhez társítani kívánt ikon típusát. Az alapértelmezett érték a TTI_NONE. További információkért lásd az ttiIconEDITBALLOONTIP struktúra tagját.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a függvény elküldi a Windows SDK-ban leírt EM_SHOWBALLOONTIP üzenetet. További információ: Edit_ShowBalloonTip makró.

Example

Az első példakód egy változót határoz meg, m_ceditamely az aktuális szerkesztési vezérlő elérésére szolgál. Ezt a változót a következő példában használjuk.

public:
// Variable to access the edit control.
CEdit m_cedit;

A következő kódpéldában egy szerkesztési vezérlő buborékhegye látható. A CEdit::ShowBalloonTip metódus megadja a címet és a buborékhegy szövegét.

m_cedit.ShowBalloonTip(
    _T("CEdit Balloon Tip"), // title
    _T("Here's a tip!"),     // text
    TTI_INFO);

CEdit::Visszavonás

Hívja meg ezt a függvényt az utolsó szerkesztés-vezérlési művelet visszavonásához.

BOOL Undo();

Visszaadott érték

Egysoros szerkesztési vezérlőelem esetén a visszatérési érték mindig nem nulla. Többsoros szerkesztési vezérlőelem esetén a visszatérési érték nem nulla, ha a visszavonási művelet sikeres, vagy 0, ha a visszavonási művelet sikertelen.

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ó: EM_UNDO a Windows SDK-ban.

Example

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

Lásd még

MFC-minta CALCDRIV
MFC-minta CMNCTRL2
CWnd osztály
hierarchiadiagram
CWnd osztály
CButton osztály
CComboBox osztály
CListBox osztály
CScrollBar osztály
CStatic osztály
CDialog osztály