スクロールバーを表示する          <TOP>


ShowScrollBar スクロールバーを表示

 

Edit1のプロパティは最下段参照

水平スクロールバーを選択した場合

 

垂直スクロールバーを選択した場合

 

水平・垂直両方のスクロールバーを選択した場合

 

Edit1のプロパティ                         複数行入力『なし』の場合

 

複数行入力『なし』の場合スクロールバーは表示されますが変化しません。

 

'================================================================
'= スクロールバーを表示する
'=    (ShowScrollBar2.bas)
'================================================================
#include "Windows.bi"

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

#define SB_BOTH 3                       '標準スクロールバーの水平・垂直両方
#define SB_CTL 2                        'スクロールバーコントロールを指定する
#define SB_HORZ 0                       '標準水平スクロールバーを指定する
#define SB_SETPARTS &H404               'WM_USER + 4
#define SB_SETTEXTA &H401               'WM_USER + 1
#define SB_VERT 1                       '標準垂直スクロールバーを指定する

Var Shared Edit1 As Object
Var Shared Radio(2) As Object
For i = 0 To 2
    Radio(i).Attach GetDlgItem("Radio" & Trim$(Str$(i + 1)))
    Radio(i).SetFontSize 14
Next
Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14

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

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

    Select Case Index
        Case 0
            sbType = SB_HORZ
            Radio(1).EnableWindow 0
            Radio(2).EnableWindow 0
        Case 1
            sbType = SB_VERT
            Radio(0).EnableWindow 0
            Radio(2).EnableWindow 0
        Case 2
            sbType = SB_BOTH
            Radio(0).EnableWindow 0
            Radio(1).EnableWindow 0
    End Select

    Ret = Api_ShowScrollBar(Edit1.GethWnd, sbType, True)
End Sub

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