На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Scroll Box Position and Scrolling Range



The position of the scroll box is represented as an integer; it is relative to the left or upper end of the scroll bar, depending on whether the scroll bar is horizontal or vertical. The position must be within the minimum and maximum values of the scrolling range. For example, in a scroll bar with a range of 0 through 100, position 50 is in the middle, with the remaining positions distributed equally along the scroll bar. The initial range depends on the scroll bar. Standard scroll bars have an initial range of 0 through 100; scroll bar controls have an empty range (both minimum and maximum values are zero), unless you supply an explicit range when the control is created. You can change the range at any time. With operating system version 4.0 or later, you can use the SetScrollInfo function to set the range values, and the GetScrollInfo function to retrieve the current range values. In versions earlier than 4.0, you can use the SetScrollRange and GetScrollRange functions.

An application typically adjusts the scroll range to convenient integers, making it easy to translate the scroll box position into a value corresponding to the data object to be scrolled. For example, if an application must display 260 lines of a text file in a window that can show only 16 lines at a time, the vertical scroll bar range can be set to 1 through 244. If the scroll box is at position 1, the first line will be at the top of the window. If the scroll box is at position 244, the last line (line 260) will be at the bottom of the window. If an application attempts to specify a position value that is less than the minimum or more than the maximum, the minimum or maximum scrolling range value is used instead.

In version 4.0 or later, an application can set a page size for a scroll bar. The page size represents the number of data units that can fit in the client area of the owner window given its current size. For example, if the client area can hold 16 lines of text, an application would set the page size to 16. Windows uses the page size, along with the scrolling range and length of the scroll shaft, to set the size of the scroll box. Whenever a window containing a scroll bar is resized, an application should call the SetScrollInfo function to set the page size. An application can retrieve the current page size by calling the sending GetScrollInfo function.

To establish a useful relationship between the scroll bar range and the data object, an application must adjust the range whenever the size of the data object changes.
As the user moves the scroll box in a scroll bar, the scroll bar reports the scroll box position as an integer in the scrolling range. If the position is the minimum value, the scroll box is at the top of a vertical scroll bar or at the left end of a horizontal scroll bar. If the position is the maximum value, the scroll box is at the bottom of a vertical scroll bar or at right end of a horizontal scroll bar.

In version 4.0 or later, the maximum value that a scroll bar can report (that is, the maximum scrolling position) depends on the page size. If the scroll bar has a page size greater than one, the maximum scrolling position is less than the maximum range value. You can use the following formula to calculate the maximum scrolling position:

MaxScrollPos = MaxRangeValue - (PageSize - 1)


An application must move the scroll box in a scroll bar. Although the user makes a request for scrolling in a scroll bar, the scroll bar does not automatically update the scroll box position. Instead, it passes the request to the parent window, which must scroll the data and update the scroll box position. In version 4.0 or later, an application uses the SetScrollInfo function to update the scroll box position; otherwise, it uses the SetScrollPos function. Because it controls the scroll box movement, the application can move the scroll box in increments that work best for the data being scrolled.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Переместите Позицию Ящика и Прокрутки Дипазона



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

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

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

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

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

MaxScrollPos = MaxRangeValue - (PageSize - 1)


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


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz