Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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