スクロールバーを表示する <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