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に機能がないので、メインウインドウのスクロールバーのイベントハンドら
お利用すると簡単。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年10月22日 10:16