VB6 リファレンス お品書き へ戻ります
Visual Basic6 リファレンス


VB6 コンボボックス操作
ComboBoxの操作についてのリファレンス

コンボ ボックス (ComboBox) コントロール
コンボ ボックス コントロールは、テキスト ボックス (TextBox) コントロールとリスト ボックス (ListBox) コントロールの機能を組み合わせたものです。ユーザーは、テキスト ボックス部分にテキストを直接入力する方法と、リスト部分から項目を選択する方法のどちらでも入力できます。

お品書き
● サンプルコンボボックスへ値のセットと取得のサンプル プログラム
● AddItem新しい項目を追加
● Clear項目をすべてクリア
● ItemData項目に個別の番号を設定/取得
● List項目の変更/取得
● ListCount現在の項目数を取得
● ListIndex現在選択されている項目のインデックスを設定/取得
● NewIndex最後に追加した項目のインデックスを取得
● RemoveItem項目を削除
● Textテキストの編集/取得


● コンボボックスへ値のセットと取得のサンプル プログラム

Private Sub Form_Load()
    'コンボボックスに社員名と社員コードを登録
    Combo1.Clear             'コンボボックス クリア
    Combo1.AddItem "田中": Combo1.ItemData(Combo1.NewIndex) = 1101     '登録
    Combo1.AddItem "矢口": Combo1.ItemData(Combo1.NewIndex) = 1102     '登録
    Combo1.AddItem "秋葉": Combo1.ItemData(Combo1.NewIndex) = 1103     '登録
    Combo1.ListIndex = -1                         'コンボボックス項目は何も選択していない状態
    Combo1.Text = "名前を選択してください"     'コンボボックスの初期表示
End Sub

Private Sub Combo1_Click()
    Dim result
    result = Combo1.ListIndex                               '選択されたコンボのインデックス番号を取得
    result = Combo1.ItemData(Combo1.ListIndex)     '選択されたコンボの社員コードを取得
    result = Combo1.List(Combo1.ListIndex)            '選択されたコンボの社員名を取得
End Sub


● AddItem メソッド
【機能】コンボボックスへ新しい項目を追加します。
【書式】obj.AddItem 項目
【 例 】 Combo1.AddItem "田中"     '社員名の登録
Combo1.ItemData(Combo1.NewIndex) = 1101     '社員番号の登録

  ※ Sortedプロパティが真(True)のとき、項目は並べ替えられてから適切な位置に配置されます。
  ※ Sortedプロパティが偽(False)のとき、項目はリストの最後に追加されます。


● Clear メソッド
【機能】コンボボックスの内容(項目)をすべてクリアします。
【書式】obj.Clear
【 例 】 Combo1.Clear


● ItemData プロパティ
【機能】コンボボックスに含まれる各項目に、個別の番号を設定します。値の取得も可能です。
【書式】obj.ItemData(インデックス) = 番号
【 例 】 Combo1.AddItem "田中"     '社員名の登録
Combo1.ItemData(Combo1.NewIndex) = 1101     '社員番号の登録
【 例 】 result = Combo1.ItemData(Combo1.ListIndex)     '選択された項目の個別番号を取得


● List プロパティ
【機能】指定したインデックスの項目を変更/取得します。
【書式】obj.List (インデックス) = 項目
【 例 】 Combo1.List(Combo1.ListIndex) = "大森"     '選択された項目を変更
【 例 】 result = Combo1.List(Combo1.ListIndex)     '選択された項目を取得
【関連】obj.Text


● ListCount プロパティ
【機能】コンボボックスの現在の項目数を返します。
【書式】result = obj.ListCount
【 例 】 Combo1.Clear
Combo1.AddItem "田中"
Combo1.AddItem "矢口"
Combo1.AddItem "秋葉"
result = Combo1.ListCount
 → 3
【 例 】 Dim i As Integer
Dim idx As Integer
idx = -1
For i = 0 To Combo1.ListCount - 1 ' 矢口さんのインデックスを検索する
    If (Combo1.List(i) = "矢口") Then
        idx = i
        Exit For
    End If
Next
Combo1.ListIndex = idx 'コンボのデフォルト位置


● ListIndex プロパティ
【機能】コンボボックスの現在選択されている項目のインデックスを設定します。値の取得も可能です。
【書式】obj.ListIndex = インデックス
【 例 】Combo1.ListIndex = 0     '先頭の項目を表示
【 例 】Combo1.ListIndex = -1     '項目が選択されていない状態(空白)にする
【 例 】result = Combo1.ListIndex     '選択された項目のインデックスを取得


● NewIndex プロパティ
【機能】コンボボックスに最後に追加した項目のインデックスを返します。
【書式】result = obj.NewIndex
【 例 】 Combo1.AddItem "田中"     '社員名の登録
Combo1.ItemData(Combo1.NewIndex) = 1101     '社員番号の登録
【 例 】 result = Combo1.NewIndex     '最後に追加した項目のインデックスを取得


● RemoveItem メソッド
【機能】コンボボックスの項目を削除します。
【書式】obj.RemoveItem インデックス
【 例 】Combo1.RemoveItem 0     '先頭の項目を削除します
【 例 】Combo1.RemoveItem Combo1.ListIndex     '選択された項目を削除します

  ※ データ(Data)コントロールに連結している場合は、RemoveItemメソッドは使用できません。


● Text プロパティ
【機能】コンボボックスの編集領域に表示されるテキストを設定します。値の取得も可能です。
【書式】obj.Text = 文字列
【 例 】result = Combo1.Text     '表示されている項目を取得します
【 例 】Combo1.Text = "名前を選択してください"     'テキストに文字列をセット
【関連】obj.List

  ※ Textプロパティは項目の内容を編集するわけではありません。
  ※ テキストの設定はStyleプロパティが 0(ドロップダウンコンボ) または 1(標準コンボ)に設定した場合のみ有効です。