VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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

使用ユーザーに使いやすくするには、重複項目があった時の処理や
リスト項目の増減の処理を考える必要があるかもしれません。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -