Сведения о элементах управления индикаторов хода выполнения
Индикатор выполнения — это окно, которое приложение может использовать для указания хода выполнения длительной операции.
Он состоит из прямоугольника, анимированного в процессе выполнения операции.
На следующем рисунке показана панель хода выполнения, которая не использует визуальные стили.
На следующем рисунке показана индикатор выполнения с помощью визуальных стилей. Внешний вид элемента управления зависит от операционной системы и выбранной темы. Дополнительные сведения см. в разделе "Стили визуальных элементов".
Дополнительные сведения содержатся в следующих заголовках.
Использование индикаторов хода выполнения
Панель выполнения можно создать с помощью функции 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 сообщение. Индикаторы хода выполнения не имеют диапазона или позиции.
На следующем рисунке показана индикатор выполнения в режиме маркирования. Выделенная часть перемещается по панели.