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


Сведения о элементах управления индикаторов хода выполнения

Индикатор выполнения — это окно, которое приложение может использовать для указания хода выполнения длительной операции.

Он состоит из прямоугольника, анимированного в процессе выполнения операции.

На следующем рисунке показана панель хода выполнения, которая не использует визуальные стили.

screen shot of a progress bar that adds rectangles in a line to indicate progress

На следующем рисунке показана индикатор выполнения с помощью визуальных стилей. Внешний вид элемента управления зависит от операционной системы и выбранной темы. Дополнительные сведения см. в разделе "Стили визуальных элементов".

screen shot of a progress bar that lengthens an animated green rectangle to indicate progress

Дополнительные сведения содержатся в следующих заголовках.

Использование индикаторов хода выполнения

Панель выполнения можно создать с помощью функции CreateWindowEx, указав класс окна PROGRESS_CLASS. Этот класс окна регистрируется при загрузке библиотеки DLL общих элементов управления. Дополнительные сведения см. в разделе "Общие элементы управления".

Элемент управления также доступен на панели элементов Microsoft Visual Studio, где он называется элементом управления ходом выполнения.

Диапазон и текущая позиция

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

Если значения диапазона не заданы, система задает минимальное значение 0, а максимальное значение — 100. Диапазон можно настроить на удобные целые числа с помощью сообщения PBM_SETRANGE.

Индикатор выполнения предоставляет несколько сообщений, которые можно использовать для задания текущей позиции. Сообщение PBM_SETPOS задает позицию заданному значению. Сообщение PBM_DELTAPOS перемещает позицию, добавив указанное значение в текущую позицию.

Сообщение PBM_SETSTEP позволяет указать шаг приращения для индикатора выполнения. Впоследствии при отправке сообщения PBM_STEPIT в строку хода выполнения текущее положение перемещается по указанному добавочному элементу. По умолчанию приращение шага имеет значение 10.

Обработка сообщений индикатора хода выполнения по умолчанию

В этом разделе описываются сообщения, обрабатываемые процедурой окна для класса PROGRESS_CLASS.

Message Обработка выполнена
WM_CREATE Выделяет и инициализирует начальную структуру.
WM_DESTROY Освобождает все ресурсы, связанные с индикатором выполнения.
WM_ERASEBKGND Рисует фон и границы индикатора выполнения.
WM_GETFONT Возвращает дескриптор текущего шрифта. Индикатор хода выполнения в настоящее время не рисует текст, поэтому отправка этого сообщения не влияет на элемент управления.
WM_PAINT Рисует индикатор выполнения. Если параметр wParam не имеет значения NULL, элемент управления предполагает, что значение является HDC и краской с помощью этого контекста устройства.
WM_SETFONT Сохраняет дескриптор в новом шрифте и возвращает дескриптор предыдущего шрифта. Индикатор хода выполнения в настоящее время не рисует текст, поэтому отправка этого сообщения не влияет на элемент управления.

 

Стиль marquee

Создав элемент управления индикатора выполнения с помощью стиля PBS_MARQUEE , его можно анимировать таким образом, чтобы отображалось действие, но не указывалось, какая доля задачи завершена. Выделенная часть панели хода выполнения многократно перемещается по длине панели. Вы можете запустить и остановить анимацию и управлять ее скоростью, отправив PBM_SETMARQUEE сообщение. Индикаторы хода выполнения не имеют диапазона или позиции.

На следующем рисунке показана индикатор выполнения в режиме маркирования. Выделенная часть перемещается по панели.

screen shot of a progress bar that moves a green highlight across a gray rectangle to indicate progress