Beispiel #1
0
func (sv *ScrollView) updateScrollBars() {
	s := sv.composite.Size()
	clb := sv.ClientBounds()

	var si win.SCROLLINFO
	si.CbSize = uint32(unsafe.Sizeof(si))
	si.FMask = win.SIF_PAGE | win.SIF_RANGE

	si.NMax = int32(s.Width - 1)
	si.NPage = uint32(clb.Width)
	win.SetScrollInfo(sv.hWnd, win.SB_HORZ, &si, false)
	sv.composite.SetX(sv.scroll(win.SB_HORZ, win.SB_THUMBPOSITION))

	si.NMax = int32(s.Height - 1)
	si.NPage = uint32(clb.Height)
	win.SetScrollInfo(sv.hWnd, win.SB_VERT, &si, false)
	sv.composite.SetY(sv.scroll(win.SB_VERT, win.SB_THUMBPOSITION))
}