• ベストアンサー

リストボックスの同期

2つのリストボックスがならんでいて、両方のスクロールバーの移動を同期させたいのですが、可能なのでしょうか? 教えてください。使用プログラムはVB6です。

質問者が選んだベストアンサー

  • ベストアンサー
  • davidname
  • ベストアンサー率40% (4/10)
回答No.1

Private Sub Form_Load() Dim i& For i = 0 To 100 List1.AddItem i List2.AddItem i Next i End Sub Private Sub List1_Scroll() List2.ListIndex = List1.ListIndex End Sub こんな感じでどうですか。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • piyo2000
  • ベストアンサー率49% (144/293)
回答No.2

#1さんの回答だとうまくいかないようですね(^^; List1→List2だけしか考慮してないのも問題ですし。 ちょっと(というか多分、かなり)高度になりますが、両方のコントロールをサブクラス化して、WM_VSCROLL等のメッセージを捕まえて片方に送ってやる(フラグを立てて、無限ループにならないように注意)ことで実現できると思います。 サブクラス化の手法についてはWebで検索してもらうと簡単にヒットすると思いますが、参考までにURLを。

参考URL:
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/subc/
すると、全ての回答が全文表示されます。

関連するQ&A