Поделиться через


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 и другие измерения полосы прокрутки.