Класс полос прокрутки
Полосы прокрутки или полосы скроллинга могут быть автоматически добавлены к окну, если вы укажете в стиле окна идентификаторы горизонтальной WS _ VSCROLL и вертикальной WS _ HSCROLL полос прокрутки. Однако вы в любой момент можете создать свое дочернее окно прокрутки, используя предопределенный класс окна " scrollbar " и один из двух стилей для полос прокрутки: SBS _ VERTS – для вертикальной и SBS _ HORZ – для горизонтальной полос прокрутки. Пользователь сам определяет положение полосы скроллинга внутри родительского окна и его размеры через соответствующие параметры функции CreateWindow при создании или MoveWindow при дальнейшей работе.
Вы можете установить диапазон и положение полосы прокрутки при помощи функций:
– 37 –
SetScrollRange(hwndScroll, SB_CTL, iMin, i Max , bRedraw);
SetScrollPos(hwndScroll, SB_CTL, iPos, bRedraw);
где параметры iMin и i Max устанавливают соответственно минимальное (при котором отметка полосы прокрутки устанавливаются либо в крайнее верхнее для вертикальной полосы прокрутки, либо в крайнее левое положение – для горизонтальной) и максимальное значение, bRedraw устанавливается в TRUE если необходима перерисовка полосы скроллинга и в FALSE в обратном случае, iPos определяет текущее положение полосы скроллинга (и лежит в диапазоне от i Max до i Max ). Следует отметить, что если вы используете полосы прокрутки, созданные с помощью стилей окна, то непосредственного описателя полосы прокрутки hwndScroll вы не имеете. Для их управления вы должны использовать описатель окна, которому принадлежат полосы прокрутки:
SetScrollRange(hwnd, SB_VERT, iMin, i Max , bRedraw);
SetScrollPos(hwndScroll, SB_HORZ, iPos, bRedraw);
при этом вы явно указываете к какой из двух полос прокрутки (вертикальной или горизонтальной) вы обращаетесь.
Все полосы прокрутки посылают сообщения родительскому окну при щелчке мыши или перетаскивании маркера полосы прокрутки. При этом в родительское окно приходит сообщение WM _ VSCROLL или WS _ HSCROLL . Для полос прокрутки окна параметр lParam равен 0, а для полос прокрутки, созданных на родительском окне, в этом параметре передается описатель полосы прокрутки, пославшей сообщение. Младшее слово параметра wParam определяет то действие, которое совершается с полосой прокрутки. Вот его некоторые значения: SB _ LINEUP , SB _ PAGEUP , SB _ THUMBTRACK , SB _ THUMBPOSITION , SB _ PAGEDOWN , SB_PAGEDOWN, SB _ LINEDOWN , SB _ ENDSCROLL . Старшее слово параметра wParam указывает текущее положение полосы прокрутки.
Дата добавления: 2016-11-22; просмотров: 579;