Операционная система Windows 95 для программиста

  d8ef8794     

Сообщения для органа управления Progressbar


Для органа управления Progressbar определены пять сообщений:



Сообщение Описание
PBM_DELTAPOS Продвижение заполняющей полосы в окне индикатора на заданное расстояние, определенное сообщением PBM_SETSTEP
PBM_SETPOS Установка текущего положения заполняющей полосы и перерисовка индикатора
PBM_SETRANGE Установка минимальной и максимальной позиции для органа управления Progressbar
PBM_SETSTEP Установка шага продвижения при поступлении сообщения PBM_STEPIT (по умолчанию шаг равен 10)
PBM_STEPIT Продвижение заполняющей полосы в окне индикатора на величину, определенную сообщением PBM_SETSTEP

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

Первая задача решается с помощью сообщения PBM_SETRANGE:

SendMessage(hProgressBar, PBM_SETRANGE, 0, MAKELPARAM(0, nTrackCnt));

Параметр wParam этого сообщения должен быть равен нулю. Значение MAKELPARAM(min, max), записанное в lParam, определяет минимальное min и максимальное max значения позиции для органа управления Progressbar.

Шаг продвижения устанавливается в параметре wParam сообщения PBM_SETSTEP (параметр lParam должен быть равен нулю):

SendMessage(hProgressBar, PBM_SETSTEP, 1, 0);

Если вам нужно установить новое текущее положение заполняющей полосы, это можно сделать при помощи сообщения PBM_SETPOS, указав положение в параметре wParam:

SendMessage(hProgressBar, PBM_SETPOS, nCurTrack, 0);

При этом параметр lParam должен быть равен нулю.

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

SendMessage(hProgressBar, PBM_STEPIT, 0, 0);

Если необходимо продвинуть полосу на заданное расстояние, используйте сообщение PBM_DELTAPOS:

SendMessage(hProgressBar, PBM_DELTAPOS, nDelta, 0);

Расстояние должно быть указано в параметре wParam. Параметр lParam должен быть равен нулю.



Содержание раздела