スクロールバー矢印の有効・無効化 <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