投稿日 | : 2004/11/22(Mon) 02:32 |
投稿者 | : jikoryuu |
Eメール | : |
URL | : |
タイトル | : Re^3: コンボボックスに項目を追加するには? |
リスト項目数が増減しない場合のサンプルです。
リストインデックスは編集時には基本的に-1に戻ってしまうので、
クリック時に選択されたリストインデックスか、
Validateイベントで同じものがないか検索して、
一致または近い値のリストインデックスを保存します。
ListIndexの値はイベントを挟んで参照する必要があるので、
モジュールレベルまたはパブリック(グローバル)の変数に保存する必要があります。
この例ではコンボボックスコントロールのTagプロパティを利用しています。
Private Sub Combo4_Click()
With Combo4
.Tag = .ListIndex
End With
End Sub
Private Sub Combo4_Validate(Cancel As Boolean)
With Combo4
Dim i As Long
If i < .Tag Then i = .Tag
If .Text <> .List(i) Then
.List(i) = .Text
End If
.Tag = i
.ListIndex = i
End With
End Sub
Private Sub Form_Load()
Dim i As Long
With Combo4
.AddItem "1/1"
.AddItem "1/20"
.AddItem "1/100"
.Tag = 0
End With
End Sub
使用ユーザーに使いやすくするには、重複項目があった時の処理や
リスト項目の増減の処理を考える必要があるかもしれません。