ComboBoxで一番上の空白を詰めるには?

解決


ミーナ  2004-06-18 09:16:37  No: 114010  IP: [192.*.*.*]

初めまして。VB6で作っています。
ComboBoxについて質問です。
一番上の部分が空白なんですが、これを詰めることはできますか?
ListIndexで取得すると-1ってなってて困ってます。

あとComboBoxにテキスト入力ができてしまうので、これも何とかしたいです。

どうすればできるのか教えてください。お願いします。

編集 削除
からす  2004-06-18 09:38:14  No: 114011  IP: [192.*.*.*]

とりあえずこっちだけ...f^^)

>あとComboBoxにテキスト入力ができてしまうので、これも何とかしたいです。

ComboBoxのプロパティで、
Styleを 2-ドロップダウンリストにして下さい。

肝心なほうが...

編集 削除
特攻隊長まるるう  2004-06-18 09:55:34  No: 114012  IP: [192.*.*.*]

>一番上の部分が空白なんですが、これを詰めることはできますか?
>ListIndexで取得すると-1ってなってて困ってます。
それは仕様です。ListIndex プロパティの設定値に関して
ヘルプを読んで下さい。表示するリストが設定されていない時に
表示するものが無くなってしまいますので、その場合でも正常な
動作にさせるため -1 の空白があります。
リストを追加した後に ListIndex プロパティを設定して下さい。

>あとComboBoxにテキスト入力ができてしまうので、これも何とかしたいです。
からすさんのご意見をご参考ください。

[VB6.0]
Private Sub Form_Load()
    With Me.Combo1
        ' ↓実行時には設定できないのでデザイン画面で指定してください。
        If .Style <> vbComboDropdownList Then 'ドロップダウン リスト ボックス
            MsgBox "デザイン画面でStyleを2に変更して下さい。"
        End If
'        .AddItem "1項目"
'        .AddItem "2項目"
        If .ListCount > 0 Then
            ' リストが設定されている時のみ有効
            .ListIndex = 0
        Else
            MsgBox "AddItemして下さい。"
        End If
    End With
End Sub

編集 削除
ぎゃっき  2004-06-18 09:56:21  No: 114013  IP: [192.*.*.*]

ListIndexを0にしてください。

編集 削除
からす  2004-06-18 10:00:59  No: 114014  IP: [192.*.*.*]

>リストを追加した後に ListIndex プロパティを設定して下さい。

特攻隊長まるるうさん、ぎゃっきさん
フォローありがとうございます。
僕も勉強になりました。(^^)

編集 削除
ミーナ  2004-06-18 12:53:24  No: 114015  IP: [192.*.*.*]

みなさん、ありがとうございました。
解決できました。

編集 削除