CEdit::LimitText
更新 : 2007 年 11 月
エディット コントロールに入力できるテキストの長さを制限します。
void LimitText(
int nChars = 0
);
パラメータ
- nChars
入力できるテキストの長さをバイト単位で指定します。このパラメータに 0 を指定すると、テキストの最大長は UINT_MAX バイトに設定されます。これが既定の動作です。
解説
テキスト長の上限の変更は、ユーザーが入力できるテキストだけに適用されます。エディット コントロールに既に入力されているテキストには影響しません。CWnd の SetWindowText メンバ関数によりエディット コントロールにコピーされる文字列の長さにも影響しません。アプリケーションで、SetWindowText 関数を使用して LimitText の呼び出しに指定された制限を超えたテキストがエディット コントロールに挿入された場合、エディット コントロール内の任意のテキストを削除できます。ただし、現在選択されているテキストを削除した結果、テキストの長さが制限以下にならない限り、既存のテキストを新しいテキストで置き換えることはできません。
メモ : |
---|
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