スクロールバーのスライダを移動させる          <TOP>


スクロールバーのスライダを移動設定します。

SendMessage ウィンドウにメッセージを送信

WM_HSCROLL(&H114) 水平スクロールバーを調整
SB_LINELEFT(0) 左矢印がクリックされた
SB_LINERIGHT(1) 右矢印がクリックされた
 

「<<」、「>>」をクリックしスライダを移動させています。「素直にスライダをドラッグしなさい」は無しで・・(^^;

 

'================================================================
'= スクロールバーのスライダを移動させる
'=    (ScrollMove.bas)
'================================================================
#include "Windows.bi"

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

#define WM_HSCROLL &H114                '水平スクロールバーを調整している
#define SB_LINELEFT 0                   '左矢印がクリックされた
#define SB_LINERIGHT 1                  '右矢印がクリックされた

Var Shared Edit1 As Object
Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Function hScrollLeft()
Function hScrollLeft()
    Var Ret As Long

    Ret = Api_SendMessage(Edit1.GethWnd, WM_HSCROLL, SB_LINELEFT, ByVal 0)
End Function

'================================================================
'=
'================================================================
Declare Function hScrollRight()
Function hScrollRight()
    Var Ret As Long

    Ret = Api_SendMessage(Edit1.GethWnd, WM_HSCROLL, SB_LINERIGHT, ByVal 0)
End Function

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Edit1.SetWindowText "Declare Function Api_SendMessage& Lib ""user32"" Alias ""SendMessageA"" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&)"
End Sub

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

    Ret = hScrollLeft
End Sub

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

    Ret = hScrollRight
End Sub

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