リストボックスのスムーズスクロールを有効無効に <TOP>
SystemParametersInfo システム全体に関するパラメータを取得・設定
SPI_SETLISTBOXSMOOTHSCROLLING(&H1007)
リストボックスのスムーズスクロールを有効・無効に
SPIF_SENDWININICHANGE(&H2)
全てのアプリケーションに通知して更新する
SPIF_UPDATEINIFILE(&H1)
ユーザープロファイルの更新を指定する
有効・無効を選択し「実行」ボタンをクリック後、スクロールバーの「∧」「∨」をクリックしスクロールを確認してください。
'================================================================ '= リストボックスのスムーズスクロールを有効無効に設定
'= (SPI_SETLISTBOXSMOOTHSCROLLING.bas) '================================================================ #include "Windows.bi" #define SPI_SETLISTBOXSMOOTHSCROLLING &H1007 'リストボックスのスムーズスクロールを有効・無効に #define SPIF_SENDWININICHANGE &H2 '全てのアプリケーションに通知して更新する #define SPIF_UPDATEINIFILE &H1 'ユーザープロファイルの更新を指定する定数の宣言 #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE ' システム全体に関するパラメータを取得・設定 Declare Function Api_SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uiAction&, ByVal uiParam&, pvParam As Any, ByVal fWinIni&) Var Shared List1 As Object Var Shared Radio1 As Object Var Shared Radio2 As Object
Var Shared Button1 As Object List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 Radio1.Attach GetDlgItem("Radio1") : Radio1.SetFontSize 14 Radio2.Attach GetDlgItem("Radio2") : Radio2.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Function Index bdecl () As Integer Function Index() Index = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) -1 End Function '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() For i = 0 To 20 List1.AddString Str$(i) Next End Sub '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var Ret As Long 'スムーズスクロール効果の有効無効を設定 Ret = Api_SystemParametersInfo(SPI_SETLISTBOXSMOOTHSCROLLING, 0, ByVal Index, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End