Линейки прокрутки. Основные сведения о линейках прокрутки, страница 3

GetScrolllnfo                                     • Windows 98   • Windows 2000

Описание

Функция GetScrolllnfo выбирает параметры линейки прокрутки, включая минимальную и максимальную позиции прокрутки, размер страницы и позицию ползунка.

Синтаксис

BOOL GetScroUInfo( HWND hWnu, int nBar, LPSCROLLINFO Ipsi )

Параметры

hWnd

HWND. Дескриптор окна со стандартной линейкой прокрутки или элемента управления линейкой прокрутки, в зависимости от значения параметра nBar.

пВаг

int. Тип линейки прокрутки, для которого должны быть выбраны параметры. Этот параметр может иметь одно из значений, перечисленных в табл. 10.4.

Таблиц/а 10.4. Значения параметра пВаг функции GetScrolllnfo

Значение

Описание

SB_CTL

Выбрать параметры элемента управления линейкой прокрутки. Параметр nwnd должен представлять собой дескриптор элемента управления линейкой прокрутки.

SB_HORZ

Выбрать параметры стандартной горизонтальной линейки прокрутки окна.

SB_VERT

Выбрать параметры стандартной вертикальной линейки прокрутки окна.

Ipsi

LPSCROLLINFO. Указатель на структуру SCROLLINFO, которая принимает информацию о линейке прокрутки. Перед вызовом GetScrolllnfo приложение должно инициализировать члены структуры /Maskи cbSize. См. приведенное ниже определение структуры SCROLLINFO.

Возвращаемое значение

BOOL. Если функция выбрала какие-либо значения, возвращаемое значение — TRUE; в ином случае возвращаемое значение — FALSE.

Включаемый файл

winuser.h

См. также

SetScroIlInfo, GetScrollPos, GetScrollRange

Определение SCROLLINFO

typedef   struct   tagSCROLLINFO

{ UINT  cbSize; UINT   fMask; int      nMin ; int     nMax;

UINT  nPage; int     nPos ; int     nTrackPos ; }    SCROLLINFO,    *LPSCROLLINFO ;

Члены

cbSize

UINT. Размер этой структуры в байтах.

/Mask

UINT. Параметры линейки прокрутки, которые должны быть выбраны. Этот член может представлять собой сочетание значений, перечисленных в табл. 10.5.

Таблица 10.5. ЗначениячленаfMask структурыSCROLLINFO

Значение

Описание

SIF_ALL

Комбинация SIF_PAGE, SIF_POS, SIF_RANGE и SIF_TRACKPOS.

SIF_D1SABLENOSCROLL

Применяется только при установке параметров линейки прокрутки. Если после установки новых параметров линейки прокрутки она становится ненужной, этот флажок заставляет линейку прокрутки стать запрещенной, а не удаленной.

SIF_PAGE

Выбрать значение пРаде линейки прокрутки.

SIF_POS

Выбрать значение ifOSлинейки прокрутки.

SUBRANGE

Выбрать значения nMinи пМах линейки прокрутки.

SIFJTRACKPOS

Выбрать текущую позицию отслеживания поля прокрутки в член nTrackPos.

nMin

int. Минимальная позиция прокрутки.

nMax

int. Максимальная позиция прокрутки.

nPage

UINT. Размер страницы. Линейка прокрутки использует это значение для определения подходящего размера пропорционального ползунка.

nPos

int. Позиция ползунка.

nTrackPof

tat Непосредственная позиция поля прокрутки, перетаскиваемого пользователем. Приложение может выбрать это значение при обработке кода запроса SBJTHUMBTRACK. Функция SetScroIIInfo игнорирует этот член.

Пример

См. пример применения функции ScrollWindowEx.

GetScrollPos                                      • Windows 98   • Windows 2000

Описание

Функция GetScrollPos выбирает текущую позицию ползунка на линейке прокрутки. Текущая позиция представляет собой относительное значение, которое зависит от текущего диапазона прокрутки. Например, если диапазон прокрутки составляет от 0 до 100 и поле прокрутки находится в середине линейки, текущая позиция равна 50. Эта функция обеспечивает совместимость с Windows NT 3.5 и более ранними версиями Windows. В системах Windows NT 4 и Windows 95 следует применять функцию GetScrollInfo.

Синтаксис

int GetScrollPos( HWND hwnd, int nBar )

Параметры

hwnd

HWND. Дескриптор элемента управления линейкой прокрутки или окна со стандартной линейкой прокрутки, в зависимости от значения параметра пВаг.

nBar

int. Линейка прокрутки, которая должна быть исследована. Этот параметр может иметь одно из значений, перечисленных в табл. 10.6.

Таблица 10.6. Значения параметра ыфункции GetScrollPos

Значение

Описание

SB_CTL

Выбрать позицию ползунка элемента управления линейкой прокрутки. Параметр hwnd должен представлять собой дескриптор элемента управления линейкой прокрутки.

SB_HORZ

Выбрать позицию ползунка стандартной горизонтальной линейки прокрутки окна.

SB_VERT

Выбрать позицию ползунка стандартной вертикальной линейки прокрутки окна.

Возвращаемое значение

int. В случае успешного выполнения возвращаемое значение — текущая позиция поля прокрутки; в ином случае возвращаемое значение — 0.

Включаемый файл

winuser.h

См. также

SetScrollPos, SetScrollRange, GetScrollRange, GetScrollInfo

Соответствующие сообщения

WM_HSCROLL, WM_VSCROLL

Пример

См. пример применения функции ScrollDC.

GetScrollRanqe                                  • Windows 98   • Windows 2000

Описание

Функция GetScrollRange выбирает текущие значения минимальной и максимальной позиций ползунка на данной линейке прокрутки. Эта функция обеспечивает совместимость с Windows NT 3.5 и более ранними версиями Windows. В системах Windows NT 4 и Windows 95 следует использовать функцию GetScrollInfo.

Синтаксис

BOOL GetScrolIRange( HWND hWnd, int nBar, LPINT IpMinPos, LPINT IpMaxPos )

Параметры

hWnd

HWND. Дескриптор элемента управления линейкой прокрутки или окна со стандартной линейкой прокрутки, в зависимости от значения параметра nBar.

nBar

int. Линейка прокрутки, которая должна быть исследована. Этот параметр может иметь одно из значений, перечисленных в табл. 10.7.

Таблица 10.7. Значения параметра nBar функции GetScrollRange

Значение

Описание

SB_CTL

Выбрать значения позиции элемента управления линейкой прокрутки. Параметр hwnd должен представлять собой дескриптор элемента управления линейкой прокрутки.

SB_HORZ

Выбрать значения позиции стандартной горизонтальной линейки прокрутки окна.

SB_VERT

Выбрать значения позиции стандартной вертикальной линейки прокрутки окн».

IpMinPos

LPINT. Указатель на целочисленную переменную, которая принимает значение минимальной позиции.

IpMaxPos

LPINT. Указатель на целочисленную переменную, которая принимает значения максимальной позиции.

Возвращаемое значение

BOOL. В случае успешного выполнения возвращаемое значение — TRUE; в ином случае возвращаемое значение — FALSE.

Включаемый файл

winuser.h

См. также

GetScrollPos, SetScrollRange, SetScrollPos, GetScrollInfo

Соответствующие сообщения

WM_HSCROLL, WM_VSCROLL

Пример

См. пример применения функции ScrollDC.

ScrollDC                                             • Windows 98   • Windows 2000

Описание

Функция  ScrollDC выполняет прокрутку прямоугольника в указанном контексте устройства (DC) по горизонтали и вертикали. Функция ScrollDC применяется для прокрутки клиентской области окна или прокрутки всего растрового изображения или его части в контексте устройства памяти.

Синтаксис

BOOL ScrollDC( HDC hdc, int dx, int dy, CONST RECT* IprcScroll, CONST RECT* IprcClip, HRGN hrgnUpdate, LPRECT IprcUpdate )

Параметры

hdc

HDC. Контекст устройства, в котором должна быть выполнена прокрутка.

dx

int. Величина горизонтальной прокрутки в единицах длины устройства (пикселях). Чтобы выполнялась прокрутка влево, этот параметр должен иметь отрицательное значение.

dy

int. Величина вертикальной прокрутки в единицах длины устройства (пикселях). Чтобы выполнялась прокрутка вверх, этот параметр должен иметь отрицательное значение.

IprcScrott

CONST RECT*. Указатель на структуру RECT, которая содержит прямоугольную область прокрутки.

IprcClip

CONST RECT*. Указатель на структуру RECT, которая содержит координаты прямоугольной области отсечения. Выполняется прокрутка только области, находящейся внутри прямоугольной области отсечения.

hrgn Update

HRGN. Область, раскрытая в процессе прокрутки. Эту область определяет функция ScrollDC; она может не быть прямоугольной. Значение этого параметра может быть установлено в NULL.

Iprc Update

LPRECT. Указатель на структуру RECT, которая принимает координаты прямоугольной области, ограничивающей прокручиваемую область обновления. Это — самая большая прямоугольная область, в клиентских координатах, которая требует повторного вывода. Значение этого параметра может быть установлено в NULL.

Возвращаемое значение

BOOL. В случае успешного выполнения возвращаемое значение — TRUE; в ином случае возвращаемое значение — FALSE.

Включаемый файл

winuser.h

См. также

ScroilWindowEx, InvalidateRgn, GetDC

Соответствующие сообщения

WM_HSCROLL, WM_VSCROLL, WM_PAINT

Пример

В следующем примере функция ScrollDC применяется для прокрутки центральной части клиентской области окна с учетом позиции горизонтальной линейки прокрутки окна. Область отсечения установлена меньше клиентской области на 20 единиц длины для того, чтобы прокрутка в пределах 20 единиц длины, наиболее удаленных от центра, не выполнялась. После выбора пользователем пункта меню Test! (вычерчивание линий) и правой стрелки линейки прокрутки окно выглядит так, как показано на рис. 10.5.