リストボックス同士の同期 <TOP>
左右のリストボックスのスクロールと項目選択を同期させます。
'================================================================ '= リストボックス同士の同期
'= (ListBoxSync.bas) '================================================================ #include "Windows.bi" Var Shared List1 As Object Var Shared List2 As Object Var Shared Timer1 As Object List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 List2.Attach GetDlgItem("List2") : List2.SetFontSize 14 Timer1.Attach GetDlgItem("Timer1") '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() For i = 1 To 20 List1.AddString Str$(i) List2.AddString Str$(i) Next Timer1.SetInterval 5 Timer1.Enable -1 End Sub '================================================================ '= '================================================================ Declare Sub Timer1_Timer edecl () Sub Timer1_Timer() Var List1TopIndex As Integer Var List2TopIndex As Integer '先頭に表示される項目を揃える List1TopIndex = List1.GetTopIndex If List1TopIndex <> List2TopIndex Then List2.SetTopIndex List1TopIndex List2TopIndex = List1TopIndex End If '選択項目を揃える If List1.GetCursel <> List2.GetCursel Then List2.SetCursel List1.GetCursel End If End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End