• 締切済み

入力候補を表示させるには・・・?

テキストボックスに、'1'って数字を入力したら、頭に'1'がつく入力候補がテキストボックスの下にリスト形式で表示され、 続けて、'2'と入力すれば、入力候補リスト内は頭に'12'がつく入力候補にかわる。 わかりやすく(?)言うと、例えば、VB6で変数の宣言をするとき Dim xxx As まで書くと入力候補のリストがカーソルの下に表示されますよね。 続けて、Dim xxx As S と入力すると、入力候補が 'S' から始まるものになりますよね。 まさに、コレがやりたいんです!! 何かいい方法、いいツールetc・・・、知っている方がいらっしゃったらぜひ教えてください。 ちなみに、開発はVB6で行います。 よろしくお願いします!!!

みんなの回答

  • oribeyaki
  • ベストアンサー率45% (18/40)
回答No.1

コンボボックスで似たような挙動をさせようと思えば、 やってやれんことは無いはず。 (あくまで方向性であって、VBの仕様でできないかも・・・) 候補データが配列に格納されているとして、 該当するデータを決定するには、Like演算子を使用します。 例) コンボボックスのKeyUpイベントに置いてください。 Private Sub Combo1_KeyUp(KeyCode As Integer, Shift As Integer) Dim dintJ As Integer Dim dstrPool As String '値を保存しておきます dstrPool = Combo1.Text 'データを消去します Combo1.Clear '入力データを頭から含むデータのみを再セットします For dintJ = 0 To 49  If PoolData(dintJ) Like Trim$(dstrPool) & "*" Then    Combo1.AddItem PoolData(dintJ)  End If Next 'リストを表示します。 SendKeys "{F4}" end sub ただし、これだけだとまずまともに動かんでしょう・・・^^; 最低でも、Enter等のKeyCodeは受け付けないようにしないといかんわね。 なんか挙動不審だし・・・・ 今テストしてみたら、なぜか、SendKeyメソッドの影響で、 「NumLock」ボタンを押しつづけてる永久ループに入ってしまった・・(**)。 ちょっと、今日忙しいので、また後日にでもテスト結果とサンプルを乗せますね。 もしくは、どなたかフォローを・・・  (無責任な・・・(-"-)) あ、あとComboBoxの「▼」が気に入らん場合は、上にTextでも張って消しといてください。

reira
質問者

お礼

ありがとうございます!! 私もoribeyakiさんが書いて下さっているソースを真似して いろいろやってみてはいるのですが、なかなかうまくいきません。 また、テスト結果とサンプルを載せてくださるということなので・・・。 本当にありがとうございます。助かります! 忙しくないとき、またよろしくお願いします。

関連するQ&A