CEdit::LimitText

更新 : 2007 年 11 月

エディット コントロールに入力できるテキストの長さを制限します。

void LimitText(
   int nChars = 0 
);

パラメータ

  • nChars
    入力できるテキストの長さをバイト単位で指定します。このパラメータに 0 を指定すると、テキストの最大長は UINT_MAX バイトに設定されます。これが既定の動作です。

解説

テキスト長の上限の変更は、ユーザーが入力できるテキストだけに適用されます。エディット コントロールに既に入力されているテキストには影響しません。CWndSetWindowText メンバ関数によりエディット コントロールにコピーされる文字列の長さにも影響しません。アプリケーションで、SetWindowText 関数を使用して LimitText の呼び出しに指定された制限を超えたテキストがエディット コントロールに挿入された場合、エディット コントロール内の任意のテキストを削除できます。ただし、現在選択されているテキストを削除した結果、テキストの長さが制限以下にならない限り、既存のテキストを新しいテキストで置き換えることはできません。

95zx4bc4.alert_note(ja-jp,VS.90).gifメモ :

Win32 (Windows NT および Windows 95/98) ではこの関数を SetLimitText に置き換えています。

詳細については、Windows SDK の「EM_LIMITTEXT」を参照してください。

使用例

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

必要条件

ヘッダー : afxwin.h

参照

参照

CEdit クラス

階層図

CWnd::SetWindowText

CEdit::GetLimitText

CEdit::SetLimitText

その他の技術情報

CEdit のメンバ