Scroll Bar
В этом разделе содержатся сведения о элементах программирования, используемых с полосами прокрутки. Окно может отображать объект данных, например документ или растровое изображение, которое больше клиентской области окна. При предоставлении полосы прокрутки пользователь может прокрутить объект данных в клиентской области, чтобы просмотреть части объекта, простирающегося за пределами окна.
Общие сведения
Раздел | Содержимое |
---|---|
О полосах прокрутки | Полоса прокрутки состоит из затеняемого вала с кнопкой со стрелкой в каждом конце и поле прокрутки (иногда называемое пальцем) между кнопками со стрелками. |
Использование полос прокрутки | При создании перекрывающегося всплывающего окна или дочернего окна можно добавить стандартные полосы прокрутки с помощью функции CreateWindowEx и указания WS_HSCROLL, WS_VSCROLL или обоих стилей. |
Функции
Раздел | Содержимое |
---|---|
EnableScrollBar | Функция EnableScrollBar включает или отключает одну или обе стрелки полосы прокрутки. |
GetScrollBarInfo | Функция GetScrollBarInfo извлекает сведения о указанной полосе прокрутки. |
GetScrollInfo | Функция GetScrollInfo извлекает параметры полосы прокрутки, включая минимальное и максимальное положение прокрутки, размер страницы и положение поля прокрутки (большой палец). |
GetScrollPos | Функция GetScrollPos извлекает текущее положение поля прокрутки (палец) в указанной полосе прокрутки. Текущая позиция — это относительное значение, которое зависит от текущего диапазона прокрутки. Например, если диапазон прокрутки равен 0 до 100, а поле прокрутки находится в середине панели, текущее положение равно 50. Примечание. Функция GetScrollPos предоставляется для обратной совместимости. Новые приложения должны использовать функцию GetScrollInfo . |
GetScrollRange | Функция GetScrollRange извлекает текущие минимальные и максимальные позиции прокрутки для указанной полосы прокрутки. Примечание. Функция GetScrollRange предоставляется только для совместимости. Новые приложения должны использовать функцию GetScrollInfo . |
ScrollDC | Функция ScrollDC прокручивает прямоугольник битов по горизонтали и по вертикали. |
ScrollWindow | Функция ScrollWindow прокручивает содержимое клиентской области указанного окна. Примечание. Функция ScrollWindow предоставляется для обратной совместимости. Новые приложения должны использовать функцию ScrollWindowEx . |
ScrollWindowEx | Функция ScrollWindowEx прокручивает содержимое клиентской области указанного окна. |
SetScrollInfo | Функция SetScrollInfo задает параметры полосы прокрутки, включая минимальное и максимальное положение прокрутки, размер страницы и положение поля прокрутки (большой палец). Функция также перерисовывает полосу прокрутки при запросе. |
SetScrollPos | Функция SetScrollPos задает позицию поля прокрутки (палец) в указанной полосе прокрутки, а при запросе перерисовывает полосу прокрутки, чтобы отразить новую позицию поля прокрутки. Примечание. Функция SetScrollPos предоставляется для обратной совместимости. Новые приложения должны использовать функцию SetScrollInfo . |
SetScrollRange | Функция SetScrollRange задает минимальное и максимальное положение поля прокрутки для указанной полосы прокрутки. Примечание. Функция SetScrollRange предоставляется для обратной совместимости. Новые приложения должны использовать функцию SetScrollInfo . |
ShowScrollBar | Функция ShowScrollBar отображает или скрывает указанную полосу прокрутки. |
Сообщения
Раздел | Содержимое |
---|---|
SBM_ENABLE_ARROWS | Приложение отправляет сообщение SBM_ENABLE_ARROWS , чтобы включить или отключить одну или обе стрелки элемента управления полосой прокрутки. |
SBM_GETPOS | Сообщение SBM_GETPOS отправляется для получения текущей позиции поля прокрутки элемента управления полосой прокрутки. Текущая позиция — это относительное значение, которое зависит от текущего диапазона прокрутки. Например, если диапазон прокрутки равен 0 до 100, а поле прокрутки находится в середине панели, текущее положение равно 50. Приложения не должны отправлять это сообщение напрямую. Вместо этого они должны использовать функцию GetScrollPos . Окно получает это сообщение через функцию WindowProc . Приложения, реализующие настраиваемый элемент управления полосой прокрутки, должны отвечать на эти сообщения для правильной работы функции GetScrollPos . |
SBM_GETRANGE | Сообщение SBM_GETRANGE отправляется для получения минимальных и максимальных значений позиции для элемента управления полосой прокрутки. Приложения не должны отправлять это сообщение напрямую. Вместо этого они должны использовать функцию GetScrollRange . Окно получает это сообщение через функцию WindowProc . Приложения, реализующие настраиваемый элемент управления полосой прокрутки, должны реагировать на эти сообщения для правильной работы функции GetScrollRange . |
SBM_GETSCROLLBARINFO | Отправляется приложением для получения сведений о указанной полосе прокрутки. |
SBM_GETSCROLLINFO | Сообщение SBM_GETSCROLLINFO отправляется для получения параметров полосы прокрутки. Приложения не должны отправлять это сообщение напрямую. Вместо этого они должны использовать функцию GetScrollInfo . Окно получает это сообщение через функцию WindowProc . Приложения, реализующие настраиваемый элемент управления полосой прокрутки, должны реагировать на эти сообщения для правильной работы функции GetScrollInfo . |
SBM_SETPOS | Сообщение SBM_SETPOS отправляется, чтобы задать положение поля прокрутки (палец) и при необходимости перераскройте полосу прокрутки, чтобы отразить новую позицию поля прокрутки. Приложения не должны отправлять это сообщение напрямую. Вместо этого они должны использовать функцию SetScrollPos . Окно получает это сообщение через функцию WindowProc . Приложения, реализующие настраиваемый элемент управления полосой прокрутки, должны реагировать на эти сообщения для правильной работы функции SetScrollPos . |
SBM_SETRANGE | Сообщение SBM_SETRANGE отправляется, чтобы задать минимальные и максимальные значения позиции для элемента управления полосой прокрутки. Приложения не должны отправлять это сообщение напрямую. Вместо этого они должны использовать функцию SetScrollRange . Окно получает это сообщение через функцию WindowProc . Приложения, реализующие пользовательский элемент управления полосой прокрутки, должны отвечать на эти сообщения для правильной работы функции SetScrollRange . |
SBM_SETRANGEREDRAW | Приложение отправляет сообщение SBM_SETRANGEREDRAW элементу управления полосы прокрутки, чтобы задать минимальные и максимальные значения позиции и перераскрыть элемент управления. |
SBM_SETSCROLLINFO | Сообщение SBM_SETSCROLLINFO отправляется для задания параметров полосы прокрутки. Приложения не должны отправлять это сообщение напрямую. Вместо этого они должны использовать функцию SetScrollInfo . Окно получает это сообщение через функцию WindowProc . Приложения, реализующие настраиваемый элемент управления полосой прокрутки, должны отвечать на эти сообщения для правильной работы функции SetScrollInfo . |
Notifications
Раздел | Содержимое |
---|---|
WM_CTLCOLORSCROLLBAR | Сообщение WM_CTLCOLORSCROLLBAR отправляется в родительское окно элемента управления полосы прокрутки при нарисовании элемента управления. Отвечая на это сообщение, родительское окно может использовать дескриптор контекста отображения, чтобы задать цвет фона элемента управления полосой прокрутки. Окно получает это сообщение через функцию WindowProc . |
WM_HSCROLL | Сообщение WM_HSCROLL отправляется в окно при возникновении события прокрутки в стандартной горизонтальной полосе прокрутки окна. Это сообщение также отправляется владельцу элемента управления горизонтальной полосы прокрутки при возникновении события прокрутки в элементе управления. Окно получает это сообщение через функцию WindowProc . |
WM_VSCROLL | Сообщение WM_VSCROLL отправляется в окно при возникновении события прокрутки в стандартной вертикальной полосе прокрутки окна. Это сообщение также отправляется владельцу элемента управления вертикальной полосы прокрутки при возникновении события прокрутки в элементе управления. Окно получает это сообщение через функцию WindowProc . |
Структуры
Раздел | Содержимое |
---|---|
SCROLLBARINFO | Структура SCROLLBARINFO содержит сведения о полосе прокрутки. |
SCROLLINFO | Структура SCROLLINFO содержит параметры полосы прокрутки, которые задаются функцией SetScrollInfo (или сообщением SBM_SETSCROLLINFO) или извлекаются функцией GetScrollInfo (или SBM_GETSCROLLINFO сообщением). |
Константы
Раздел | Содержимое |
---|---|
Стили элементов управления полосой прокрутки | Чтобы создать элемент управления полосой прокрутки с помощью функции CreateWindow или CreateWindowEx, укажите класс SCROLLBAR, соответствующие константы стиля окна и сочетание следующих стилей элементов управления полосой прокрутки. Некоторые стили создают элемент управления полосой прокрутки, использующий ширину или высоту по умолчанию. Однако при вызове CreateWindow Или CreateWindowEx всегда необходимо указать координаты x-и y и другие измерения полосы прокрутки. |