次の方法で共有


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

参照

参照

CComboBox クラス

階層図

CB_LIMITTEXT

その他の技術情報

CComboBox のメンバ