tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルコンボボックスのリスト作成
記事No11568
投稿日: 2008/02/28(Thu) 18:10
投稿者やままさ
お世話になります。

下記のコードをVB6(WindowsXP Home)で実行すると
表示するまで2〜3秒かかってしまいます。

For i = 1 To 9
    For j = 1 To 9999
        cmbAddress1(i).AddItem CStr(Format(j, "0000")), j - 1
        cmbAddress2(i).AddItem CStr(Format(j, "0000")), j - 1
    Next j
Next i

パソコンのスペックをあげる以外に
表示させる時間を短縮させる事は可能でしょうか?

よろしくお願いします。

[ツリー表示へ]
タイトルRe: コンボボックスのリスト作成
記事No11569
投稿日: 2008/02/28(Thu) 18:32
投稿者魔界の仮面弁士
> 表示させる時間を短縮させる事は可能でしょうか?

ComboBox コントロールの代わりに、
DataCombo コントロールを使ってみては如何でしょう。


これなら一瞬。

Option Explicit

Private rs As ADODB.Recordset

Private Sub Command1_Click()
    Set rs = New ADODB.Recordset
    rs.Fields.Append "KEY", adVarWChar, 4
    rs.Open
    Dim i As Long
    For i = 1 To 9999
        rs.AddNew "KEY", Format$(i, "0000")
    Next
    For i = 1 To 9
        DataCombo1(i).BoundColumn = "KEY"
        DataCombo1(i).ListField = "KEY"
        Set DataCombo1(i).RowSource = rs
        
        DataCombo2(i).BoundColumn = "KEY"
        DataCombo2(i).ListField = "KEY"
        Set DataCombo2(i).RowSource = rs
    Next
End Sub

Private Sub Command2_Click()
    MsgBox DataCombo1(1).BoundText
End Sub

[ツリー表示へ]