Win32アプリケーションを新規作成。コモンダイアログを使うをちぇっく
垂直スクロールバーをウインドウに貼る。
すたてっくテキストを貼る。
SCROLLINFO構造体をグローバル領域に定義(MainWnd.sbp内)する。
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Dim scr As SCROLLINFO
メインウインドウのイベントハンドらから、Createを記述。SCROLLINFO構造体を
指定してスクロールバーのプロパティを設定。
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
Dim hscr As HWND
hscr=GetDlgItem(hMainWnd,VScrollBar1)
scr.cbSize=SizeOf(SCROLLINFO)
scr.fMask=SIF_ALL
scr.nMin=0
scr.nMax=100
scr.nPage=1
scr.nPos=45
SetScrollInfo(hscr,SB_CTL,scr,TRUE)
End Sub
メインウインドウのVScrollイベントハンドらをきじゅつ。
Sub MainWnd_VScroll(nScrollCode As Long, nPos As Integer, hwndScrollBar As HWND)
Dim hscr As HWND
hscr=GetDlgItem(hMainWnd,VScrollBar1)
'VScrollBar1のみのイベント処理
If hwndScrollBar=hscr Then
Select Case nScrollCode
Case SB_THUMBPOSITION
scr.nPos=nPos
Case SB_LINEUP
scr.nPos--
Case SB_LINEDOWN
scr.nPos++
Case SB_PAGEUP
scr.nPos=scr.nPos-5
Case SB_PAGEDOWN
scr.nPos=scr.nPos+5
End Select
SetScrollInfo(hscr,SB_CTL,scr,TRUE)
SetWindowText(hlabel,Str$(scr.nPos))
End If
End Sub
貼り付けたスクロールバーを使う場合のポイントは、SetScrollInfo()の引数に
SB_CTLをつかう。scr.fMask=SIF_ALLにする。
複数個のスクロールバーをつかう場合は、ハンドルを得て個別のイベントをしょり
する。
※本来はScrollBar専用のイベントハンドらによって記述する必要性があるが、Project
Editorに機能がないので、メインウインドウのスクロールバーのイベントハンドら
お利用すると簡単。
最終更新:2010年10月22日 10:16