スクロールバーの有効・無効化          <TOP>


スクロールバーを有効化・無効化と切り替えます。

EnableScrollBar スクロールバーの有効・無効化

 

 

'================================================================
'= スクロールバーの有効・無効化
'=    (EnableScrollBar.bas)
'================================================================
#include "Windows.bi"

' スクロールバーの有効・無効化
Declare Function Api_EnableScrollBar& Lib "user32" Alias "EnableScrollBar" (ByVal hWnd&, ByVal wSBflags&, ByVal wArrows&)
    
#define SB_BOTH 3                       '標準スクロールバーの水平・垂直両方
#define SB_CTL 2                        'スクロールバーコントロールの情報を設定
#define SB_HORZ 0                       '標準スクロールバーの水平
#define SB_VERT 1                       '標準スクロールバーの垂直

#define ESB_ENABLE_BOTH &H0             '両方向有効
#define ESB_DISABLE_LTUP &H1            '左・上方向無効
#define ESB_DISABLE_RTDN &H2            '右・下方向無効
#define ESB_DISABLE_BOTH &H3            '両方向無効

Var Shared List1 As Object
Var Shared Button1 As Object
Var Shared Button2 As Object

List1.Attach GetDlgItem("List1") : List1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14
Button2.Attach GetDlgItem("Button2") : Button2.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Var i As Long

    For i = 1 To 20
        List1.AddString Str$(i)
    Next
End Sub

'================================================================
'= スクロールバーの無効化
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    Ret = Api_EnableScrollBar(List1.GethWnd, SB_VERT, ESB_DISABLE_BOTH)
End Sub

'================================================================
'= スクロールバーの有効化
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    Var Ret As Long

    Ret = Api_EnableScrollBar(List1.GethWnd, SB_VERT, ESB_ENABLE_BOTH)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End