Выделите поле позиции и прокрутки диапазона

Позиция бегунка представляется как целое число; оно определяется относительно левой или верхней части в зависимости от того, является ли полоса прокрутки горизонтальной или вертикальной полосы прокрутки. Позиция должна быть в пределах минимальное и максимальное значения диапазона прокрутки. Например полосы прокрутки в диапазоне от 0 до 100, позиции 50 находится в середине, с оставшихся должностей, равномерно распределяются вдоль полосы прокрутки. Первоначальный зависит полосы прокрутки. Стандартные прокрутки имеют первоначальный спектр от 0 до 100; элементы управления полосы прокрутки имеют пустой диапазон (минимальное и максимальное значения являются ноль), если не введен явного диапазон при создании элемента управления. Диапазон можно изменить в любое время. Можно использовать функцию SetScrollInfo для задания диапазона значений и функцию GetScrollInfo для извлечения текущего значения диапазона.

Приложение обычно изменяет диапазон прокрутки для удобной целых чисел, что делает его легко перевести текущую позицию прокрутки по поля в значение, соответствующее атрибуту объекта данных чтобы прокручивать. Например если приложение должно отображать 260 строк текстового файла в окне, которое может показать только 16 строк в тот момент, ассортимент бара вертикальной прокрутки можно задать от 1 до 244. Если ползунок находится в позиции 1, первая линия будет в верхней части окна. Если ползунок находится в позиции 244, последняя строка (линия 260) будет в нижней части окна. Если приложение пытается задать значение позиции, которое меньше минимального или больше, чем максимальное, минимальное или максимальное значение диапазона прокрутки используется вместо.

Можно задать размер страницы для полосы прокрутки. Размер страницы представляет количество единиц данных, которые могут поместиться в клиентской области окна владельца, учитывая его текущий размер. Например если клиентская область может вместить 16 строк текста, приложение бы установить размер страницы до 16. Система использует размер страницы, наряду с прокруткой диапазона и длина вала прокрутки, чтобы задать размер бегунка. Всякий раз, когда окно, содержащее полоса прокрутки изменяется, приложение должно вызывать функцию SetScrollInfo для задания размера страницы. Приложение можно извлечь текущий размер страницы, вызвав функцию отправки GetScrollInfo .

Установить полезные отношения между диапазона панель прокрутки и объект данных, приложению необходимо настроить диапазон всякий раз, когда размер данных объекта.

Как только пользователь переводит ползунка полосы прокрутки, полоса прокрутки сообщает текущую позицию прокрутки по поле как целое число в диапазоне прокрутки. Если позиция минимальное значение, поле прокрутки располагается в верхней части вертикальной полосы прокрутки или в левой части горизонтальной полосы прокрутки. Если позиция является максимальное значение, поле прокрутки располагается в нижней части вертикальной полосы прокрутки или в правой части горизонтальной полосы прокрутки.

Максимальное значение, которое может полоса прокрутки отчета (то есть, максимум, позиция прокрутки) зависит от размера страницы. Если полоса прокрутки имеет больше одного размера страницы, максимальная позиция прокрутки меньше чем максимальное значение диапазона. Можно использовать следующую формулу для расчета максимальной прокрутки позиция:

MaxScrollPos = MaxRangeValue-(PageSize - 1) 
 

Приложения должны перемещать ползунок полосы прокрутки. Хотя пользователь делает запрос для прокрутки в полосы прокрутки, полоса прокрутки не обновляется автоматически позицию прокрутки окна. Вместо этого он передает запрос для родительского окна, которое необходимо прокручивать данные и обновлять позицию прокрутки окна. Приложение использует функцию SetScrollInfo для обновления позицию прокрутки окна; в противном случае он использует функцию SetScrollPos . Потому что он контролирует движение поле прокрутки, приложение можно перемещать бегунка шагом, подходящие для данных, быть прокручен в.

Index