CComboBox::LimitText
更新 : 2007 年 11 月
コンボ ボックスのエディット コントロールに入力できるテキストの長さ (バイト単位) を制限します。
BOOL LimitText(
int nMaxChars
);
パラメータ
- nMaxChars
入力できるテキストの長さをバイト単位で指定します。このパラメータに 0 を指定すると、テキストの長さが 65,535 バイトに設定されます。
戻り値
正常終了した場合は 0 以外を返します。CBS_DROPDOWNLIST スタイルのコンボ ボックス、またはエディット コントロールを持たないコンボ ボックスに対して呼び出された場合は、CB_ERR を返します。
解説
コンボ ボックスに CBS_AUTOHSCROLL スタイルが設定されていないときは、エディット コントロールのサイズを超える制限値を指定しても効果はありません。
LimitText は、入力されるテキストしか制限しません。メッセージが送られたときに既にエディット コントロールに存在しているテキストには影響しません。また、リスト ボックスで選択され、エディット コントロールにコピーされる文字列の長さにも影響しません。
使用例
// Limit the number of characters in the combo box's edit control to
// be the maximum number visible.
// Get the text metrics for the combo box; needed for the
// average character width.
TEXTMETRIC tm;
CDC* pDCCB = m_pComboBox->GetDC();
pDCCB->GetTextMetrics(&tm);
m_pComboBox->ReleaseDC(pDCCB);
CRect rect;
m_pComboBox->GetClientRect(&rect);
m_pComboBox->LimitText(rect.Width() / tm.tmAveCharWidth);
必要条件
ヘッダー : afxwin.h