Sdílet prostřednictvím


CEdit – třída

Poskytuje funkce ovládacího prvku pro úpravy systému Windows.

Syntaxe

class CEdit : public CWnd

Členové

Veřejné konstruktory

Název Popis
CEdit::CEdit CEdit Vytvoří řídicí objekt.

Veřejné metody

Název Popis
CEdit::CanUndo Určuje, zda lze operaci ovládacího prvku úprav vrátit zpět.
CEdit::CharFromPos Načte indexy řádků a znaků pro znak nejblíže zadané pozici.
CEdit::Clear Odstraní (vymaže) aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy.
CEdit::Copy Zkopíruje aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy do schránky ve formátu CF_TEXT.
CEdit::Create Vytvoří ovládací prvek pro úpravy Systému Windows a připojí ho k objektu CEdit .
CEdit::Cut Odstraní (vyjme) aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy a zkopíruje odstraněný text do schránky ve formátu CF_TEXT.
CEdit::EmptyUndoBuffer Obnoví (vymaže) příznak zpět ovládacího prvku pro úpravy.
CEdit::FmtLines Nastaví zahrnutí znaků s měkkým koncem řádku do ovládacího prvku pro úpravy s více řádky nebo mimo.
CEdit::GetCueBanner Načte text zobrazený jako upozornění nebo tip v ovládacím prvku pro úpravy, pokud je ovládací prvek prázdný a nemá fokus.
CEdit::GetFirstVisibleLine Určuje nejvíce viditelný řádek v ovládacím prvku pro úpravy.
CEdit::GetHandle Načte popisovač do paměti, která je aktuálně přidělena pro víceřádkovou úpravu ovládacího prvku.
CEdit::GetHighlight Získá indexy počáteční a koncové znaky v rozsahu textu, který je zvýrazněn v aktuálním ovládacím prvku pro úpravy.
CEdit::GetLimitText Získá maximální množství textu, který CEdit může obsahovat.
CEdit::GetLine Načte řádek textu z ovládacího prvku pro úpravy.
CEdit::GetLineCount Načte počet řádků v ovládacím prvku pro úpravy více řádků.
CEdit::GetMargins Získá levý a pravý okraj pro toto CEdit.
CEdit::GetModify Určuje, zda byl změněn obsah ovládacího prvku pro úpravy.
CEdit::GetPasswordChar Načte znak hesla zobrazený v ovládacím prvku pro úpravy, když uživatel zadá text.
CEdit::GetRect Získá formátovací obdélník ovládacího prvku pro úpravy.
CEdit::GetSel Získá první a poslední pozice znaků aktuálního výběru v ovládacím prvku pro úpravy.
CEdit::HideBalloonTip Skryje jakýkoli bublinový tip přidružený k aktuálnímu ovládacímu prvku pro úpravy.
CEdit::LimitText Omezí délku textu, který může uživatel zadat do ovládacího prvku pro úpravy.
CEdit::LineFromChar Načte číslo řádku řádku, který obsahuje zadaný index znaků.
CEdit::LineIndex Načte index znaků řádku v ovládacím prvku pro úpravy více řádků.
CEdit::LineLength Načte délku řádku v ovládacím prvku pro úpravy.
CEdit::LineScroll Posune text ovládacího prvku pro úpravy více řádků.
CEdit::P aste Vloží data ze schránky do ovládacího prvku pro úpravy na aktuální pozici kurzoru. Data se vloží pouze v případě, že schránka obsahuje data ve formátu CF_TEXT.
CEdit::P osFromChar Načte souřadnice levého horního rohu zadaného indexu znaků.
CEdit::ReplaceSel Nahradí aktuální výběr v ovládacím prvku pro úpravy zadaným textem.
CEdit::SetCueBanner Nastaví text zobrazený jako upozornění nebo tip v ovládacím prvku pro úpravy, pokud je ovládací prvek prázdný a nemá fokus.
CEdit::SetHandle Nastaví popisovač na místní paměť, kterou bude používat víceřádkový ovládací prvek pro úpravy.
CEdit::SetHighlight Zvýrazní rozsah textu, který se zobrazí v aktuálním ovládacím prvku pro úpravy.
CEdit::SetLimitText Nastaví maximální množství textu, který CEdit může obsahovat.
CEdit::SetMargins Nastaví levý a pravý okraj pro tento CEdit.
CEdit::SetModify Nastaví nebo vymaže příznak úpravy pro ovládací prvek pro úpravy.
CEdit::SetPasswordChar Nastaví nebo odebere znak hesla zobrazený v ovládacím prvku pro úpravy, když uživatel zadá text.
CEdit::SetReadOnly Nastaví stav ovládacího prvku pro úpravy jen pro čtení.
CEdit::SetRect Nastaví obdélník formátování ovládacího prvku pro úpravy více řádků a aktualizuje ovládací prvek.
CEdit::SetRectNP Nastaví obdélník formátování víceřádkového ovládacího prvku pro úpravy bez překreslení ovládacího okna.
CEdit::SetSel Vybere rozsah znaků v ovládacím prvku pro úpravy.
CEdit::SetTabStops Nastaví zarážky tabulátoru v ovládacím prvku pro úpravy více řádků.
CEdit::ShowBalloonTip Zobrazí bublinový tip přidružený k aktuálnímu ovládacímu prvku pro úpravy.
CEdit::Undo Vrátí zpět poslední operaci ovládacího prvku pro úpravy.

Poznámky

Ovládací prvek pro úpravy je obdélníkové podřízené okno, do kterého může uživatel zadat text.

Ovládací prvek pro úpravy můžete vytvořit buď ze šablony dialogového okna, nebo přímo v kódu. V obou případech nejprve zavolejte konstruktor CEdit , který objekt sestaví CEdit , a pak zavoláte funkci Create member, která vytvoří ovládací prvek pro úpravy Systému Windows a připojí ho k objektu CEdit .

Konstrukce může být jednokrokový proces ve třídě odvozené od CEdit. Napište konstruktor pro odvozenou třídu a volání Create z konstruktoru.

CEdit dědí významné funkce z CWnd. Chcete-li nastavit a načíst text z objektu CEdit , použijte CWnd členské funkce SetWindowText a GetWindowText, které nastavily nebo získaly celý obsah ovládacího prvku pro úpravy, i když se jedná o víceřádkový ovládací prvek. Textové řádky ve víceřádkovém ovládacím prvku jsou oddělené sekvencemi znaků \r\n. Pokud je ovládací prvek pro úpravy víceřádkový, získejte a nastavte část textu ovládacího prvku voláním CEdit členské funkce GetLine, SetSel, GetSel a ReplaceSel.

Pokud chcete zpracovávat zprávy oznámení systému Windows odeslané ovládacím prvku úprav do nadřazeného objektu (obvykle třídy odvozené), CDialogpřidejte položku mapování zpráv a členovou funkci obslužné rutiny zpráv do nadřazené třídy pro každou zprávu.

Každá položka mapy zpráv má následující tvar:

ON_NOTIFICATION( id, memberFxn )

kde id určuje ID podřízeného okna ovládacího prvku pro úpravy odesílajícího oznámení a memberFxn je název nadřazené členské funkce, kterou jste napsali pro zpracování oznámení.

Prototyp funkce nadřazeného objektu je následující:

afx_msg void memberFxn ( );

Následuje seznam potenciálních položek mapy zpráv a popis případů, ve kterých by byly odeslány nadřazené:

  • ON_EN_CHANGE Uživatel provedl akci, která může změnit text v ovládacím prvku pro úpravy. Na rozdíl od oznámení EN_UPDATE se tato zpráva oznámení odešle po aktualizaci zobrazení systémem Windows.

  • ON_EN_ERRSPACE Ovládací prvek pro úpravy nemůže přidělit dostatek paměti pro splnění konkrétního požadavku.

  • ON_EN_HSCROLL Uživatel klikne na vodorovný posuvník ovládacího prvku pro úpravy. Před aktualizací obrazovky se zobrazí upozornění nadřazeného okna.

  • ON_EN_KILLFOCUS Ovládací prvek pro úpravy ztratí vstupní fokus.

  • ON_EN_MAXTEXT Aktuální vložení překročilo zadaný počet znaků pro ovládací prvek pro úpravy a byl zkrácen. Odešle se také, když ovládací prvek pro úpravy nemá styl ES_AUTOHSCROLL a počet znaků, které se mají vložit, by překročil šířku ovládacího prvku pro úpravy. Odešle se také, když ovládací prvek pro úpravy nemá styl ES_AUTOVSCROLL a celkový počet řádků, které jsou výsledkem vložení textu, by překročil výšku ovládacího prvku pro úpravy.

  • ON_EN_SETFOCUS Odesláno, když ovládací prvek pro úpravy obdrží vstupní fokus.

  • ON_EN_UPDATE Ovládací prvek pro úpravy se chystá zobrazit změněný text. Odesláno poté, co ovládací prvek naformátoval text, ale před tím, než zobrazí text, aby se velikost okna v případě potřeby změnila.

  • ON_EN_VSCROLL Uživatel klikne na svislý posuvník ovládacího prvku pro úpravy. Před aktualizací obrazovky se zobrazí upozornění nadřazeného okna.

Pokud vytvoříte CEdit objekt v dialogovém okně, CEdit objekt se po zavření dialogového okna automaticky zničí.

Pokud vytvoříte CEdit objekt z prostředku dialogového okna pomocí editoru dialogového okna, objekt se automaticky zničí, CEdit když uživatel dialogové okno zavře.

Pokud v okně vytvoříte CEdit objekt, budete ho možná muset také zničit. Pokud vytvoříte CEdit objekt v zásobníku, automaticky se zničí. Pokud vytvoříte CEdit objekt v haldě new pomocí funkce, musíte volat delete objekt, aby ho zničil, když uživatel ukončí ovládací prvek pro úpravy systému Windows. Pokud přidělíte jakoukoli paměť v objektu CEdit , přepište CEdit destruktor a odstraňte přidělení.

Chcete-li upravit určité styly v ovládacím prvku pro úpravy (například ES_READONLY), je nutné odeslat do ovládacího prvku určité zprávy místo použití ModifyStyle. Viz Upravit styly ovládacích prvků v sadě Windows SDK.

Další informace o CEditovládacích prvcích naleznete v tématu Ovládací prvky.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CEdit

Požadavky

Hlavička: afxwin.h

CEdit::CanUndo

Voláním této funkce určíte, jestli lze poslední operaci úpravy vrátit zpět.

BOOL CanUndo() const;

Návratová hodnota

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

Poznámky

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

Příklad

Podívejte se na příklad pro CEdit::Undo.

CEdit::CEdit

CEdit Vytvoří objekt.

CEdit();

Poznámky

Pomocí příkazu Create můžete vytvořit ovládací prvek pro úpravy systému Windows.

Příklad

// Declare a local CEdit object.
CEdit myEdit;

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

CEdit::CharFromPos

Voláním této funkce načtete indexy řádků a znaků nulového znaku znaku nejbližšího zadaného bodu v tomto CEdit ovládacím prvku.

int CharFromPos(CPoint pt) const;

Parametry

Pt
Souřadnice bodu v klientské oblasti tohoto CEdit objektu.

Návratová hodnota

Index znaků ve WORDu s nízkým pořadím a index řádku ve wordu ve vysokém pořadí.

Poznámky

Poznámka:

Tato členová funkce je dostupná od windows 95 a systém Windows NT 4.0.

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

Příklad

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

Voláním této funkce odstraníte (vymaže) aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy.

void Clear();

Poznámky

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

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

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

Příklad

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

CEdit::Copy

Voláním této funkce převedete aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy do schránky ve formátu CF_TEXT.

void Copy();

Poznámky

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

Příklad

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

CEdit::Create

Vytvoří ovládací prvek pro úpravy Systému Windows a připojí ho k objektu CEdit .

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

Parametry

dwStyle
Určuje styl ovládacího prvku pro úpravy. U ovládacího prvku použijte libovolnou kombinaci stylů úprav.

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

pParentWnd
Určuje nadřazené okno ovládacího prvku pro úpravy (obvykle ).CDialog Nesmí mít hodnotu NULL.

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

Návratová hodnota

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

Poznámky

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

Při Create spuštění systém Windows odešle do ovládacího prvku pro úpravy zprávy WM_NCCREATE, WM_NCCALCSIZE, WM_CREATE a WM_GETMINMAXINFO .

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

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

  • WS_CHILD Always

  • WS_VISIBLE obvykle

  • zřídka WS_DISABLED

  • WS_GROUP Seskupit ovládací prvky

  • WS_TABSTOP Zahrnout ovládací prvek pro úpravy v pořadí ovládacích prvků tabbing

Příklad

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

Voláním této funkce odstraníte (vyjmete) aktuální výběr (pokud existuje) v ovládacím prvku pro úpravy a zkopírujete odstraněný text do schránky ve formátu CF_TEXT.

void Cut();

Poznámky

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

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

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

Příklad

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

CEdit::EmptyUndoBuffer

Voláním této funkce obnovíte (vymažete) příznak zpět ovládacího prvku pro úpravy.

void EmptyUndoBuffer();

Poznámky

Ovládací prvek pro úpravy teď nebude moct vrátit zpět poslední operaci. Příznak zpět se nastaví vždy, když je možné vrátit zpět operaci v ovládacím prvku pro úpravy.

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

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

Příklad

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

CEdit::FmtLines

Voláním této funkce nastavíte zahrnutí znaků s měkkým koncem řádku do ovládacího prvku pro úpravy s více řádky.

BOOL FmtLines(BOOL bAddEOL);

Parametry

bAddEOL
Určuje, zda mají být vloženy měkké znaky zalomení řádku. Hodnota PRAVDA vloží znaky; hodnota NEPRAVDA je odebere.

Návratová hodnota

Nenulové, pokud dojde k nějakému formátování; jinak 0.

Poznámky

Konec měkké čáry se skládá ze dvou návratů na začátek řádku a čáry vložené na konec řádku, který je přerušen kvůli zalamování textu. Pevný konec řádku se skládá z jednoho návratu na začátek řádku a kanálu řádku. Čáry, které končí pevným koncem čáry, nejsou ovlivněny FmtLines.

Systém Windows odpoví pouze v případě CEdit , že je objekt víceřádkovým ovládacím prvku pro úpravy.

FmtLinesmá vliv pouze na vyrovnávací paměť vrácenou GetHandle a text vrácený WM_GETTEXT. Nemá žádný vliv na zobrazení textu v ovládacím prvku pro úpravy.

Další informace najdete v tématu EM_FMTLINES v sadě Windows SDK.

Příklad

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

Načte text zobrazený jako upozornění nebo tip v ovládacím prvku pro úpravy, pokud je ovládací prvek prázdný.

BOOL GetCueBanner(
    LPWSTR lpszText,
    int cchText) const;

CString GetCueBanner() const;

Parametry

lpszText
[ven] Ukazatel na řetězec, který obsahuje text upozornění.

cchText
[v] Počet znaků, které lze přijímat. Toto číslo zahrnuje ukončující znak NULL.

Návratová hodnota

Pro první přetížení, TRUE pokud je metoda úspěšná; jinak NEPRAVDA.

Pro druhé přetížení CString, který obsahuje cue text, pokud metoda je úspěšná; jinak prázdný řetězec ("").

Poznámky

Tato metoda odešle EM_GETCUEBANNER zprávu, která je popsaná v sadě Windows SDK. Další informace najdete v Edit_GetCueBannerText makrech.

CEdit::GetFirstVisibleLine

Voláním této funkce určíte nejvíce viditelný řádek v ovládacím prvku pro úpravy.

int GetFirstVisibleLine() const;

Návratová hodnota

Index založený na nule nejvyšší viditelné čáry. U ovládacích prvků pro úpravy s jedním řádkem je návratová hodnota 0.

Poznámky

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

Příklad

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

Voláním této funkce načtěte popisovač do paměti, která je aktuálně přidělena pro víceřádkový ovládací prvek pro úpravy.

HLOCAL GetHandle() const;

Návratová hodnota

Popisovač místní paměti, který identifikuje vyrovnávací paměť obsahující obsah ovládacího prvku pro úpravy. Pokud dojde k chybě, například odeslání zprávy do ovládacího prvku pro úpravy s jedním řádkem, je vrácená hodnota 0.

Poznámky

Popisovač je popisovač místní paměti a může ho používat kterýkoli z funkcí paměti místního systému Windows, které jako parametr přebírají popisovač místní paměti.

GetHandle zpracovává se pouze ovládacími prvky pro úpravy více řádků.

Volání GetHandle ovládacího prvku pro víceřádkovou úpravu v dialogovém okně pouze v případě, že bylo dialogové okno vytvořeno se sadou příznaků stylu DS_LOCALEDIT. Pokud není nastaven styl DS_LOCALEDIT, stále získáte nenulovou návratovou hodnotu, ale vrácenou hodnotu nebudete moct použít.

Poznámka:

GetHandle nebude fungovat s Windows 95/98. Pokud zavoláte GetHandle v systému Windows 95/98, vrátí hodnotu NULL. GetHandlebude fungovat podle dokumentu v části systém Windows NT verze 3.51 a novější.

Další informace najdete v tématu EM_GETHANDLE v sadě Windows SDK.

Příklad

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

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

::LocalUnlock(h);

CEdit::GetHighlight

Získá indexy prvních a posledních znaků v rozsahu textu, který je zvýrazněn v aktuálním ovládacím prvku pro úpravy.

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

Parametry

pichStart
[ven] Index založený na nule prvního znaku v rozsahu textu, který je zvýrazněn.

pichEnd
[ven] Index založený na nule posledního znaku v oblasti textu, který je zvýrazněn.

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda odešle EM_GETHILITE zprávu, která je popsaná v sadě Windows SDK. GetHighlight V SetHighlight současné době jsou povolené pouze pro sestavení UNICODE.

CEdit::GetLimitText

Voláním této členské funkce získáte omezení textu pro tento CEdit objekt.

UINT GetLimitText() const;

Návratová hodnota

Aktuální omezení textu v TCHARs pro tento CEdit objekt.

Poznámky

Limit textu je maximální množství textu v TCHARs, které může ovládací prvek pro úpravy přijmout.

Poznámka:

Tato členová funkce je dostupná od windows 95 a systém Windows NT 4.0.

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

Příklad

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

Voláním této funkce načtete řádek textu z ovládacího prvku pro úpravy a umístíte ho do lpszBufferu.

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

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

Parametry

nIndex
Určuje číslo řádku, které se má načíst z ovládacího prvku pro úpravy více řádků. Čísla řádků jsou založená na nule; hodnota 0 určuje první řádek. Tento parametr je ignorován ovládacím prvku pro úpravy s jedním řádkem.

lpszBuffer
Odkazuje na vyrovnávací paměť, která přijímá kopii řádku. První slovo vyrovnávací paměti musí určovat maximální počet TCHARs, které lze zkopírovat do vyrovnávací paměti.

nMaxLength
Určuje maximální počet znaků TCHAR, které lze zkopírovat do vyrovnávací paměti. GetLine umístí tuto hodnotu do prvního slova lpszBuffer před voláním systému Windows.

Návratová hodnota

Počet znaků, které se skutečně zkopírovaly. Vrácená hodnota je 0, pokud je číslo řádku určené parametrem nIndex větší než počet řádků v ovládacím prvku pro úpravy.

Poznámky

Zkopírovaný řádek neobsahuje znak ukončení s hodnotou null.

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

Příklad

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

CEdit::GetLineCount

Voláním této funkce načtete počet řádků v ovládacím prvku pro úpravy více řádků.

int GetLineCount() const;

Návratová hodnota

Celé číslo obsahující počet řádků v ovládacím prvku pro úpravy více řádků. Pokud nebyl do ovládacího prvku pro úpravy zadán žádný text, vrátí se hodnota 1.

Poznámky

GetLineCount zpracovává se pouze ovládacími prvky pro úpravy více řádků.

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

Příklad

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

Voláním této členské funkce načtete levý a pravý okraj tohoto ovládacího prvku pro úpravy.

DWORD GetMargins() const;

Návratová hodnota

Šířka levého okraje ve WORDu s nízkým pořadím a šířka pravého okraje ve wordu ve vysokém pořadí.

Poznámky

Okraje se měří v pixelech.

Poznámka:

Tato členová funkce je dostupná od windows 95 a systém Windows NT 4.0.

Další informace najdete v tématu EM_GETMARGINS v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CEditView::GetEditCtrl.

CEdit::GetModify

Voláním této funkce určíte, zda byl změněn obsah ovládacího prvku pro úpravy.

BOOL GetModify() const;

Návratová hodnota

Nenulové, pokud byl změněn obsah ovládacího prvku pro úpravy; 0, pokud zůstali beze změny.

Poznámky

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

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

Příklad

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

CEdit::GetPasswordChar

Voláním této funkce načtete znak hesla, který se zobrazí v ovládacím prvku pro úpravy, když uživatel zadá text.

TCHAR GetPasswordChar() const;

Návratová hodnota

Určuje znak, který se má zobrazit místo znaku, který uživatel zadal. Návratová hodnota je NULL, pokud neexistuje žádný znak hesla.

Poznámky

Pokud vytvoříte ovládací prvek pro úpravy se stylem ES_PASSWORD, knihovna DLL, která podporuje ovládací prvek, určuje výchozí znak hesla. Manifest nebo InitCommonControlsEx metoda určuje, která knihovna DLL podporuje ovládací prvek pro úpravy. Pokud user32.dll podporuje ovládací prvek pro úpravy, výchozí znak hesla je ASTERISK (*, U+002A). Pokud comctl32.dll verze 6 podporuje ovládací prvek pro úpravy, výchozí znak je BLACK CIRCLE ('●', U+25CF). Další informace o tom, která knihovna DLL a verze podporují běžné ovládací prvky, naleznete v tématu Shell a Common Controls Versions.

Tato metoda odešle EM_GETPASSWORDCHAR zprávu, která je popsaná v sadě Windows SDK.

Příklad

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

CEdit::GetRect

Voláním této funkce získáte obdélník formátování ovládacího prvku pro úpravy.

void GetRect(LPRECT lpRect) const;

Parametry

lpRect
Odkazuje na RECT strukturu, která přijímá obdélník formátování.

Poznámky

Obdélník formátování je omezující obdélník textu, který je nezávislý na velikosti okna ovládacího prvku pro úpravy.

Formátovací obdélník ovládacího prvku pro víceřádkovou úpravu lze upravit pomocí členské funkce SetRect a SetRectNP .

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

Příklad

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

CEdit::GetSel

Voláním této funkce získáte počáteční a koncovou pozici znaků aktuálního výběru (pokud existuje) v ovládacím prvku pro úpravy pomocí návratové hodnoty nebo parametrů.

DWORD GetSel() const;

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

Parametry

nStartChar
Odkaz na celé číslo, které obdrží pozici prvního znaku v aktuálním výběru.

nEndChar
Odkaz na celé číslo, které obdrží pozici prvního nevybraného znaku za koncem aktuálního výběru.

Návratová hodnota

Verze, která vrátí hodnotu DWORD, vrátí hodnotu, která obsahuje počáteční pozici ve slově s nízkým pořadím a pozici prvního nevybraného znaku za koncem výběru ve slově s vysokým pořadím.

Poznámky

Další informace najdete v tématu EM_GETSEL v sadě Windows SDK.

Příklad

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

CEdit::HideBalloonTip

Skryje jakýkoli bublinový tip přidružený k aktuálnímu ovládacímu prvku pro úpravy.

BOOL HideBalloonTip();

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato funkce odešle EM_HIDEBALLOONTIP zprávu, která je popsaná v sadě Windows SDK.

CEdit::LimitText

Voláním této funkce omezíte délku textu, který uživatel může zadat do ovládacího prvku pro úpravy.

void LimitText(int nChars = 0);

Parametry

nChars
Určuje délku (v TCHARs) textu, který může uživatel zadat. Pokud je tento parametr 0, je délka textu nastavená na UINT_MAX bajtů. Toto je výchozí chování.

Poznámky

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

Poznámka:

V systému Win32 (systém Windows NT a Windows 95/98) nahradí funkce SetLimitText.

Další informace najdete v tématu EM_LIMITTEXT v sadě Windows SDK.

Příklad

// Limit the number of characters to be the maximum number visible.

// Get the text metrics for the edit; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDC = m_myEdit.GetDC();
pDC->GetTextMetrics(&tm);
m_myEdit.ReleaseDC(pDC);

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

CEdit::LineFromChar

Voláním této funkce načtete číslo řádku, který obsahuje zadaný znakový index.

int LineFromChar(int nIndex = -1) const;

Parametry

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

Návratová hodnota

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

Poznámky

Index znaků je počet znaků od začátku ovládacího prvku pro úpravy.

Tuto členovou funkci používají jenom ovládací prvky pro úpravy více řádků.

Další informace najdete v tématu EM_LINEFROMCHAR v sadě Windows SDK.

Příklad

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

Voláním této funkce načtete index znaků řádku v ovládacím prvku pro úpravy více řádků.

int LineIndex(int nLine = -1) const;

Parametry

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

Návratová hodnota

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

Poznámky

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

Tato členová funkce je zpracována pouze víceřádkovými ovládacími prvky pro úpravy.

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

Příklad

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

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

int LineLength(int nLine = -1) const;

Parametry

nLine
Index znaku založený na nule na řádku, jehož délka se má načíst. Výchozí hodnota je -1.

Návratová hodnota

U ovládacích prvků pro úpravy s jedním řádkem je návratová hodnota délka textu v ovládacím prvku pro úpravy v souboru TCHARS.

U ovládacích prvků pro víceřádkové úpravy je návratová hodnota délka řádku určeného parametrem nLine v TCHARs. U textu ANSI je délka počtu bajtů na řádku; pro text Unicode je délka počtu znaků na řádku. Délka neobsahuje znak návratu na začátek řádku.

Pokud je parametr nLine větší než počet znaků v ovládacím prvku, návratová hodnota je nula.

Pokud je parametr nLine -1, návratová hodnota je počet nevybraných znaků v řádcích, které obsahují vybrané znaky. Pokud je například výběr rozšířen od čtvrtého znaku jednoho řádku přes osmý znak od konce dalšího řádku, je vrácená hodnota 10. To znamená, že tři znaky na prvním řádku a sedm na dalším řádku.

Další informace o typu TCHAR naleznete v řádku TCHAR v tabulce v datových typech Systému Windows.

Poznámky

Tato metoda je podporována zprávou EM_LINELENGTH , která je popsaná v sadě Windows SDK.

Příklad

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

CEdit::LineScroll

Voláním této funkce se posunete text ovládacího prvku pro úpravy více řádků.

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

Parametry

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

nChars
Určuje počet pozic znaků, které se mají vodorovně posunout. Tato hodnota se ignoruje, pokud má ovládací prvek pro úpravy styl ES_RIGHT nebo ES_CENTER.

Poznámky

Tato členová funkce je zpracována pouze víceřádkovými ovládacími prvky pro úpravy.

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

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

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

Příklad

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

CEdit::P aste

Voláním této funkce vložíte data ze schránky do CEdit místa vložení.

void Paste();

Poznámky

Data se vloží pouze v případě, že schránka obsahuje data ve formátu CF_TEXT.

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

Příklad

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

CEdit::P osFromChar

Voláním této funkce získáte pozici (levý horní roh) daného znaku v rámci tohoto CEdit objektu.

CPoint PosFromChar(UINT nChar) const;

Parametry

nChar
Index založený na nule zadaného znaku.

Návratová hodnota

Souřadnice levého horního rohu znaku určeného parametrem nChar.

Poznámky

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

Poznámka:

Tato členová funkce je dostupná od windows 95 a systém Windows NT 4.0.

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

Příklad

Podívejte se na příklad pro CEdit::LineFromChar.

CEdit::ReplaceSel

Voláním této funkce nahradíte aktuální výběr v ovládacím prvku pro úpravy textem určeným lpszNewText.

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

Parametry

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

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

Poznámky

Nahradí jenom část textu v ovládacím prvku pro úpravy. Chcete-li nahradit veškerý text, použijte funkci člena CWnd::SetWindowText .

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

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

Příklad

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

CEdit::SetCueBanner

Nastaví text zobrazený jako upozornění nebo tip v ovládacím prvku pro úpravy, pokud je ovládací prvek prázdný.

BOOL SetCueBanner(LPCWSTR lpszText);

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

Parametry

lpszText
[v] Ukazatel na řetězec, který obsahuje vodítko pro zobrazení v ovládacím prvku pro úpravy.

fDrawWhenFocused
[v] Pokud JE NEPRAVDA, banner upozornění se nevykreslí, když uživatel klikne v ovládacím prvku pro úpravy a zobrazí fokus.

Pokud je pravda, informační nápis se nakreslí i v případě, že má ovládací prvek fokus. Informační zpráva zmizí, když uživatel začne psát do ovládacího prvku.

Výchozí hodnota je FALSE.

Návratová hodnota

TRUE, pokud je metoda úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda odešle EM_SETCUEBANNER zprávu, která je popsaná v sadě Windows SDK. Další informace najdete v Edit_SetCueBannerTextFocused makrech.

Příklad

Následující příklad ukazuje CEdit::SetCueBanner metoda.

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

CEdit::SetHandle

Voláním této funkce nastavíte popisovač na místní paměť, kterou bude používat víceřádkový ovládací prvek pro úpravy.

void SetHandle(HLOCAL hBuffer);

Parametry

hBuffer
Obsahuje popisovač místní paměti. Tento popisovač musel být vytvořen předchozím voláním funkce LocalAlloc Windows pomocí příznaku LMEM_MOVEABLE. Předpokládá se, že paměť obsahuje řetězec ukončený hodnotou null. Pokud tomu tak není, měl by být první bajt přidělené paměti nastaven na hodnotu 0.

Poznámky

Ovládací prvek pro úpravy pak použije tuto vyrovnávací paměť k uložení aktuálně zobrazeného textu místo přidělení vlastní vyrovnávací paměti.

Tato členová funkce je zpracována pouze víceřádkovými ovládacími prvky pro úpravy.

Než aplikace nastaví nový popisovač paměti, měl by pomocí členské funkce GetHandle získat popisovač do aktuální vyrovnávací paměti a uvolnit tuto paměť pomocí LocalFree funkce Windows.

SetHandle vymaže vyrovnávací paměť zpět ( členské funkce CanUndo pak vrátí hodnotu 0) a příznak vnitřní úpravy ( členová funkce GetModify pak vrátí hodnotu 0). Okno pro úpravy je překresleno.

Tuto členovou funkci můžete použít v ovládacím prvku pro úpravy více řádků v dialogovém okně pouze v případě, že jste dialogové okno vytvořili se sadou příznaků stylu DS_LOCALEDIT.

Poznámka:

GetHandle nebude fungovat s Windows 95/98. Pokud zavoláte GetHandle v systému Windows 95/98, vrátí hodnotu NULL. GetHandlebude fungovat podle dokumentu v části systém Windows NT verze 3.51 a novější.

Další informace naleznete v tématu EM_SETHANDLE, LocalAlloc a LocalFree v sadě Windows SDK.

Příklad

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

Zvýrazní rozsah textu, který se zobrazí v aktuálním ovládacím prvku pro úpravy.

void SetHighlight(
    int ichStart,
    int ichEnd);

Parametry

ichStart
[v] Index založený na nule prvního znaku v rozsahu textu, který se má zvýraznit.

ichEnd
[v] Index založený na nule posledního znaku v rozsahu textu, který se má zvýraznit.

Poznámky

Tato metoda odešle EM_SETHILITE zprávu, která je popsaná v sadě Windows SDK. Tato metoda odešle EM_SETHILITE zprávu, která je popsaná v sadě Windows SDK. Obě SetHighlight a GetHighlight jsou povolené jenom pro sestavení UNICODE.

CEdit::SetLimitText

Voláním této členské funkce nastavíte omezení textu pro tento CEdit objekt.

void SetLimitText(UINT nMax);

Parametry

nMax
Nový limit textu ve znaznachu.

Poznámky

Omezení textu je maximální množství textu ve znaznachu, které může ovládací prvek pro úpravy přijmout.

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

Tato funkce nahrazuje LimitText v systému Win32.

Další informace najdete v tématu EM_SETLIMITTEXT v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CEditView::GetEditCtrl.

CEdit::SetMargins

Voláním této metody nastavíte levý a pravý okraj tohoto ovládacího prvku pro úpravy.

void SetMargins(
    UINT nLeft,
    UINT nRight);

Parametry

nLeft
Šířka nového levého okraje v pixelech.

nRight
Šířka nového pravého okraje v pixelech.

Poznámky

Poznámka:

Tato členová funkce je dostupná od windows 95 a systém Windows NT 4.0.

Další informace najdete v tématu EM_SETMARGINS v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CEditView::GetEditCtrl.

CEdit::SetModify

Voláním této funkce nastavíte nebo vymažete upravený příznak pro ovládací prvek pro úpravy.

void SetModify(BOOL bModified = TRUE);

Parametry

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

Poznámky

Upravený příznak označuje, zda byl text v ovládacím prvku pro úpravy změněn. Automaticky se nastaví pokaždé, když uživatel změní text. Jeho hodnota může být načtena pomocí GetModify členské funkce.

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

Příklad

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

CEdit::SetPasswordChar

Voláním této funkce nastavíte nebo odeberete znak hesla zobrazený v ovládacím prvku pro úpravy, když uživatel zadá text.

void SetPasswordChar(TCHAR ch);

Parametry

ch
Určuje znak, který má být zobrazen místo znaku zadaného uživatelem. Pokud je hodnota ch 0, zobrazí se skutečné znaky zadané uživatelem.

Poznámky

Pokud je nastaven znak hesla, zobrazí se tento znak pro každý znak, který uživatel zadá.

Tato členová funkce nemá žádný vliv na ovládací prvek pro úpravy více řádků.

SetPasswordChar Při zavolání CEdit členské funkce překreslí všechny viditelné znaky pomocí znaku určeného ch.

Pokud je ovládací prvek pro úpravy vytvořen pomocí stylu ES_PASSWORD , výchozí znak hesla je nastaven na hvězdičku ( *). Tento styl se odebere, pokud SetPasswordChar je volán s ch nastaveným na 0.

Další informace najdete v tématu EM_SETPASSWORDCHAR v sadě Windows SDK.

Příklad

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

CEdit::SetReadOnly

Zavolá tuto funkci, která nastaví stav ovládacího prvku pro úpravy jen pro čtení.

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

Parametry

bReadOnly
Určuje, jestli se má nastavit nebo odebrat stav úprav ovládacího prvku jen pro čtení. Hodnota TRUE nastaví stav jen pro čtení; hodnota NEPRAVDA nastaví stav na čtení/zápis.

Návratová hodnota

Nenulové, pokud je operace úspěšná, nebo 0, pokud dojde k chybě.

Poznámky

Aktuální nastavení najdete otestováním příznaku ES_READONLY v návratové hodnotě CWnd::GetStyle.

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

Příklad

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

CEdit::SetRect

Voláním této funkce nastavíte rozměry obdélníku pomocí zadaných souřadnic.

void SetRect(LPCRECT lpRect);

Parametry

lpRect
Odkazuje na RECT strukturu nebo CRect objekt, který určuje nové rozměry obdélníku formátování.

Poznámky

Tento člen je zpracován pouze ovládacími prvky pro úpravy více řádků.

Slouží SetRect k nastavení obdélníku formátování ovládacího prvku pro úpravy více řádků. Obdélník formátování je omezující obdélník textu, který je nezávislý na velikosti okna ovládacího prvku pro úpravy. Při prvním vytvoření ovládacího prvku pro úpravy je obdélník formátování stejný jako v klientské oblasti okna pro úpravy. SetRect Pomocí členské funkce může aplikace zvětšit nebo zmenšit obdélník formátování než okno ovládacího prvku pro úpravy.

Pokud ovládací prvek pro úpravy nemá posuvník, text se ořízne, nezalomí, pokud je obdélník formátování větší než okno. Pokud ovládací prvek pro úpravy obsahuje ohraničení, zmenší se obdélník formátování o velikost ohraničení. Pokud upravíte obdélník vrácený GetRect členskou funkcí, musíte před předáním obdélníku SetRectodebrat velikost ohraničení .

Při SetRect zavolání se text ovládacího prvku pro úpravy přeformátuje a znovu zobrazí.

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

Příklad

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

Voláním této funkce nastavíte obdélník formátování ovládacího prvku pro úpravy s více řádky.

void SetRectNP(LPCRECT lpRect);

Parametry

lpRect
Odkazuje na RECT strukturu nebo CRect objekt, který určuje nové rozměry obdélníku.

Poznámky

Obdélník formátování je omezující obdélník textu, který je nezávislý na velikosti okna ovládacího prvku pro úpravy.

SetRectNP je shodná SetRect s členovou funkcí s tím rozdílem, že okno pro úpravy není překresleno.

Při prvním vytvoření ovládacího prvku pro úpravy je obdélník formátování stejný jako v klientské oblasti okna pro úpravy. Voláním SetRectNP členské funkce může aplikace zvětšit nebo zmenšit obdélník formátování než okno ovládacího prvku pro úpravy.

Pokud ovládací prvek pro úpravy nemá posuvník, text se ořízne, nezalomí, pokud je obdélník formátování větší než okno.

Tento člen je zpracován pouze ovládacími prvky pro úpravy více řádků.

Další informace najdete v tématu EM_SETRECTNP v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CEdit::SetRect.

CEdit::SetSel

Voláním této funkce vyberete rozsah znaků v ovládacím prvku pro úpravy.

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

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

Parametry

dwSelection
Určuje počáteční pozici ve slově s nízkým pořadím a koncovou pozici ve slově s vysokým pořadím. Pokud je slovo s nízkým pořadím 0 a slovo ve vysokém pořadí je -1, je vybraný veškerý text v ovládacím prvku pro úpravy. Pokud je slovo nízkého pořadí -1, odebere se jakýkoli aktuální výběr.

bNoScroll
Určuje, jestli se má stříška posunout do zobrazení. Pokud je hodnota NEPRAVDA, posune se stříška do zobrazení. Pokud je pravda, stříšku se nepřesouvejte do zobrazení.

nStartChar
Určuje počáteční pozici. Pokud je nStartChar 0 a nEndChar je -1, je vybraný veškerý text v ovládacím prvku pro úpravy. Pokud nStartChar je -1, odebere se jakýkoli aktuální výběr.

nEndChar
Určuje koncovou pozici.

Poznámky

Další informace najdete v tématu EM_SETSEL v sadě Windows SDK.

Příklad

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

CEdit::SetTabStops

Voláním této funkce nastavíte zarážky tabulátoru v ovládacím prvku pro úpravy více řádků.

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

BOOL SetTabStops(
    int nTabStops,
    LPINT rgTabStops);

Parametry

cxEachStop
Určuje, že se zarážky tabulátoru nastaví na každé jednotce dialogového okna cxEachStop .

nTabStops
Určuje počet zarážek tabulátoru obsažených v rgTabStops. Toto číslo musí být větší než 1.

rgTabStops
Odkazuje na pole bez znaménka určující zarážky tabulátoru v jednotkách dialogového okna. Jednotka dialogového okna je vodorovná nebo svislá vzdálenost. Jedna vodorovná jednotka dialogového okna se rovná jedné čtvrté jednotce základní šířky aktuálního dialogového okna a 1 svislá jednotka dialogového okna se rovná jedné osmé jednotce základní výšky aktuálního dialogového okna. Základní jednotky dialogového okna se počítají na základě výšky a šířky aktuálního systémového písma. Funkce GetDialogBaseUnits Windows vrátí aktuální základní jednotky dialogového okna v pixelech.

Návratová hodnota

Nenulové, pokud byly karty nastaveny; jinak 0.

Poznámky

Když se text zkopíruje do ovládacího prvku pro úpravy s více řádky, jakýkoli znak tabulátoru v textu způsobí, že se vygeneruje mezera až do další zarážky tabulátoru.

Chcete-li nastavit zarážky tabulátoru na výchozí velikost 32 jednotek dialogového okna, zavolejte bez parametrů této členské funkce. Pokud chcete nastavit zarážky tabulátoru na jinou velikost než 32, zavolejte verzi s parametrem cxEachStop . Pokud chcete nastavit zarážky tabulátoru na pole velikostí, použijte verzi se dvěma parametry.

Tato členová funkce je zpracována pouze víceřádkovými ovládacími prvky pro úpravy.

SetTabStops automaticky nepřekresluje okno pro úpravy. Pokud změníte zarážky tabulátoru pro text, který už v ovládacím prvku pro úpravy obsahuje, zavolejte CWnd::InvalidateRect a překreslejte okno pro úpravy.

Další informace naleznete v tématu EM_SETTABSTOPS a GetDialogBaseUnits v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CEditView::SetTabStops.

CEdit::ShowBalloonTip

Zobrazí bublinový tip přidružený k aktuálnímu ovládacímu prvku pro úpravy.

BOOL ShowBalloonTip(PEDITBALLOONTIP pEditBalloonTip);

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

Parametry

pEditBalloonTip
[v] Ukazatel na strukturu EDITBALLOONTIP , která popisuje tip bubliny.

lpszTitle
[v] Ukazatel na řetězec Unicode, který obsahuje název bublinového tipu.

lpszText
[v] Ukazatel na řetězec Unicode, který obsahuje text tipu bubliny.

ttiIcon
[v] Int, který určuje typ ikony, která se má přidružit k tipu bubliny. Výchozí hodnota je TTI_NONE. Další informace naleznete v ttiIcon členu EDITBALLOONTIP struktury.

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato funkce odešle EM_SHOWBALLOONTIP zprávu, která je popsaná v sadě Windows SDK. Další informace najdete v Edit_ShowBalloonTip makrech.

Příklad

První příklad kódu definuje proměnnou, m_ceditkterá se používá pro přístup k aktuálnímu ovládacímu prvku pro úpravy. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu zobrazí bublinový tip pro ovládací prvek pro úpravy. Metoda CEdit::ShowBalloonTip určuje název a text tipu bubliny.

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

CEdit::Undo

Voláním této funkce vrátíte zpět poslední operaci ovládacího prvku pro úpravy.

BOOL Undo();

Návratová hodnota

U ovládacího prvku pro úpravy s jedním řádkem je návratová hodnota vždy nenulová. U ovládacího prvku pro úpravy více řádků je návratová hodnota nenulová, pokud je operace vrácení zpět úspěšná, nebo 0, pokud operace vrácení zpět selže.

Poznámky

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

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

Příklad

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

Viz také

MFC – ukázka CALCDRIV
Ukázková CMNCTRL2 MFC
CWnd – třída
Graf hierarchie
CWnd – třída
CButton – třída
CComboBox – třída
CListBox – třída
CScrollBar – třída
CStatic – třída
CDialog – třída