CRichEditCtrl::LimitText
更新 : 2007 年 11 月
エディット コントロールに入力できるテキストの長さを制限します。
void LimitText(
long nChars = 0
);
パラメータ
- nChars
入力できるテキストの長さをバイト単位で指定します。このパラメータに 0 (既定値) を指定すると、テキストの長さが 64 KB に設定されます。
解説
テキスト長の上限の変更は、ユーザーが入力できるテキストだけに適用されます。エディット コントロールに既に入力されているテキストには影響しません。CWnd の SetWindowText メンバ関数によりエディット コントロールにコピーされる文字列の長さにも影響しません。アプリケーションで、SetWindowText 関数を使用して LimitText の呼び出しに指定された制限を超えたテキストがエディット コントロールに挿入された場合、エディット コントロール内の任意のテキストを削除できます。ただし、現在選択されているテキストを削除した結果、テキストの長さが制限以下にならない限り、既存のテキストを新しいテキストで置き換えることはできません。
メモ : |
---|
テキストの制限を考慮する場合、各 OLE アイテムは 1 つの文字として数えます。 |
詳細については、Windows SDK の「EM_EXLIMITTEXT」を参照してください。
使用例
// 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_myRichEditCtrl.GetDC();
pDC->GetTextMetrics(&tm);
m_myRichEditCtrl.ReleaseDC(pDC);
CRect r;
m_myRichEditCtrl.GetRect(&r);
m_myRichEditCtrl.LimitText(r.Width()/tm.tmAveCharWidth);
必要条件
ヘッダー : afxcmn.h