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


スクロールバーの矢印を有効化・無効化に設定します。
SendMessage ウィンドウにメッセージを送信 
SBM_ENABLE_ARROWS(&HE4) スクロールバーの矢印を使用可能または使用不能にする 
ESB_DISABLE_BOTH(&H3) 両方向無効 
ESB_DISABLE_LTUP(&H1) 左・上方向無効 
ESB_DISABLE_RTDN(&H2) 右・下方向無効 
ESB_ENABLE_BOTH(&H0) 両方向有効 
 
'================================================================
'= スクロールバー矢印の有効・無効化
'=    (ScrlEnableArrows.bas)
'================================================================
#include "Windows.bi"

' ウィンドウにメッセージを送信。この関数は、指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返さない
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

#define SBM_ENABLE_ARROWS &HE4          'スクロールバーの矢印を使用可能または使用不能にする
#define ESB_DISABLE_BOTH &H3            '両方向無効
#define ESB_DISABLE_LTUP &H1            '左・上方向無効
#define ESB_DISABLE_RTDN &H2            '右・下方向無効
#define ESB_ENABLE_BOTH &H0             '両方向有効

Var Shared Radio(3) As Object
Var Shared HScroll1 As Object
Var Shared VScroll1 As Object
Var Shared Button1 As Object

For i = 0 To 3
    Radio(i).Attach GetDlgItem("Radio" & Trim$(Str$(i + 1)))
    Radio(i).SetFontSize 14
Next
HScroll1.Attach GetDlgItem("HScroll1")
VScroll1.Attach GetDlgItem("VScroll1")
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Function Arrows bdecl () As Integer
Function Arrows()
    Arrows = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) -1
End Function

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    'スクロールバーの使用状態を設定
    Ret = Api_SendMessage(HScroll1.GethWnd, SBM_ENABLE_ARROWS, Arrows, ByVal CLng(0))
    Ret = Api_SendMessage(VScroll1.GethWnd, SBM_ENABLE_ARROWS, Arrows, ByVal CLng(0))
End Sub

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