スクロールバーの表示・非表示          <TOP>


スクロールバーを表示・非表示します。

ShowScrollBar スクロールバーを表示

 

左からEditBoxの垂直・水平・両方のスクロールバーを表示・非表示させています。

'================================================================
'= スクロールバーの表示・非表示
'=    (ShowScrollBar.bas)
'================================================================
#include "Windows.bi"

' スクロールバーを表示
Declare Function Api_ShowScrollBar& Lib "user32" Alias "ShowScrollBar" (ByVal hWnd&, ByVal wBar&, ByVal bShow&)

#define SB_HORZ 0                       '標準スクロールバーの水平
#define SB_VERT 1                       '標準スクロールバーの垂直
#define SB_BOTH 3                       '標準スクロールバーの水平・垂直両方

Var Shared Edit(1) As Object
Var Shared Button(1) As Object
Var Shared List1 As Object

For i = 0 To 1
    Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1)))
    Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1)))
    Edit(i).SetFontSize 14
    Button(i).SetFontSize 14
Next
List1.Attach GetDlgItem("List1") : List1.SetFontSize 14
'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    For i = 1 To 100
        List1.AddString Right$(Str$(10000 + i), 4)
    Next
End Sub

'================================================================
'= スクロールバー表示
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    Ret = Api_ShowScrollBar(List1.GethWnd, SB_VERT, True)
    Ret = Api_ShowScrollBar(Edit(0).GethWnd, SB_HORZ, True)
    Ret = Api_ShowScrollBar(Edit(1).GethWnd, SB_BOTH, True)
End Sub

'================================================================
'= スクロールバー非表示
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    Var Ret As Long

    Ret = Api_ShowScrollBar(List1.GethWnd, SB_VERT, False)
    Ret = Api_ShowScrollBar(Edit(0).GethWnd, SB_HORZ, False)
    Ret = Api_ShowScrollBar(Edit(1).GethWnd, SB_BOTH, False)
End Sub

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