Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ОСПО.doc
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
910 Кб
Скачать
  1. Основные функции и стили ScrollBar.

WM_VSCROLL

WM_HSCROLL

За прорисовку ответственна программа пользователя.

Основные функции:

  1. Установка ранга линеек SetScrollRange

Ранг линейки прокрутки – это диапазон изменения значений переменной, связанный с положением движка данных элементов управления.

[Rmin;Rmax] – ранг линейки. Значение R – 32-разрядное число. Rmin<Rmax для правильной работы линейки.

Операнды:

  1. ID окна.

  2. ID типа

  3. Rmin

  4. Rmax

Возвращает

  1. Код ошибки

  2. Установка положения движка линейки SetScrollPos.

Позволяет установить движок в произвольную позицию в пределах ранга линейки.

Операнды:

  1. Дескриптор окна (hWnd)

  2. ID типа

  3. Позиция

  4. Резервный параметр (True)

  1. Получение позиции движка GetScrollPos

  1. Основные функции и стили линеек скроллинга.

Окна или дочерние окна могут быть оснащены отдельными элементами вертикального или горизонтального скроллинга. Наличие у окна этих элементов устанавливается с помощью стилей:

WSUSCROLL - вертикальный скроллинг.

WSHSCROLL - горизонтальный скроллинг.

Сообщения создаваемые длинными элементами управления называются: WSJJSCROLL WSJJSCROLL

Следует отметить, что при изменении положения движка на линейке изменяется лишь внутренняя переменная линейки прокрутки, но не изображение окна. За скроллинг и прорисовку окна ответственна пользовательская программа получающая сообщение от линейки прокрутки.

Основные функции линейки прокрутки:

1. Установка ранга линеек. Выполняется с помощью функции: SetScrollRange. Ранг линейки прокрутки - это диапазон изменения значений переменной связанной с положением движка данных элементов управлении.

Ранг линейки - [Rmin, Rmax], при этом значение R задаётся 32-х разрядным числом. Значение Rmin может принимать любые значения, однако для правильной работы линейки: Rmin< Rmax. В качестве операндов функции установки рангов указывается:

1. 1. Идентификатор окна: hWnd Call SetScrollRange.

1. 2. Идентификатор типа элемента: SBVERT.

1. 3. Значение Rmin : 0.

1. 4. Значение Rmax : 100.

1. 5. Функция возрастает: код ошибки.

2. Функция установки положения движка линеек SetScrollPos.

Позволяет установить движок в произвольную позицию в пределах установленного ранга

линейки.

Операнды:

Идентификатор окна.

Идентификатор типа.

Позиция: 20.

Резервный параметр TRUE (-1).

Пример: TRUE 20 SBVERT hWnd CallScollPos.

Перемещение движка линейки прокрутки выполняется с помощью данной функции.

Команды получения движка линейки 00 SBVERT hWnd CallScrollPos. Функция возвращает позицию линейки прокрутки.

Сообщения от линейки скроллинга.

Данные сообщения сопровождаются 4-мя параметрами:

Дескриптор окна.

Сообщения от линейки прокрутки, ( const Windows) предназначенная для идентификации

одного из нескольких событий возникающих на линейке.

Старший параметр, который содержит в младшем полуслове тип сообщения (назначение

аналогичное предыдущему параметру), а в старшем дополнительный параметр.

Младший параметр: резерв.

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

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

SBBOTTOM - достижение крайнего нижнего положения линейки прокрутки.

SBTOP - достижение движком крайнего верхнего положения

SBLINEDOWN - событие одинокого нажатия на клавишу "вниз".

В данной секции необходимо инкрементировать значение связанное с позицией движка.

SBLINEUP - выполняется декремент значения (аналогично верхнему, но при нажатии

"вверх").

SBPAGEDOWN - страница. События возникают при нажатии мышкой на поле может

управлять движком и клавишей "вниз".

Событие аналогично событию LINEDOWN, но для увеличения переменной линейки,

назначение больше 1.

SBPEGEUP - событие нажатия мышкой на поле может управлять движком и кнопкой

"вверх".

SBTHUMBPOSITION - события позиционирования движка ( Движок отпускается мышью).

В этом случае в старшем полуслове, старшего параметра передаётся новое положение

движка. Если это положение не будет установлено с помощью функции Windows, движок

вернётся на прежнее место.

SBTHUMBTRACK - данное событие вытекает при перемещении движка без его

отпускания манипулятора мыши. Событие вызывается аналогично событию

WHMOUSEMOVE. При этом каждый раз в старшем полуслове старшего параметра

передаётся позиция движка, однако в этом случае изменять позицию движка с помощью

функции, как правило не требуется.

События горизонтальной линейки.

Во многом повторяют события вертикальной линейки, кроме 4-х событий:

SBLINELIFT - (аналог LINEUP).

SBLINERIGHT - (аналог LINEDOWN).

SBPAGELEFT - (аналог PEGEUP).

SBPAGERIGHT - (анлог PAGEDOWN).