Что такое строка состояния в paint
Перейти к содержимому

Что такое строка состояния в paint

  • автор:

Что такое строка состояния в paint

Строка состояния содержит подсказку, шкалу и информацию, которая очень полезна при работе в Paint.NET.

Подсказка и Статус Всякий раз, когда вы выбрали инструмент, то в этом месте «Строки состояния» будет присутствовать короткая подсказка, как использовать данный инструмент. При работе с некоторыми инструментами, такими как «Линия/Кривая», текст подсказки будет меняться, в зависимости от тех действий, которые вы уже совершили. Многие инструменты будут использовать эту область строки, чтобы отразить информацию о том, что вы в данный момент делаете, такую как размер или длина выбранной фигуры. Шкала Когда вы используете команды меню [Эффекты] или [Регулировки], то на этом месте будет показана степень выполнения процесса перерисовки (Если, конечно, этот процесс занимает заметное время.) . Размер изображения Здесь показывается текущий размер изображения. В зависимости от того, какие единицы измерения выбраны в меню [Вид], или соответствующим управляющим элементом на «Панели инструментов», размер будет отображаться в пикселях, дюймах или сантиметрах. Положение курсора Здесь показывается текущее положение курсора в координатах, соответствующих документу. В зависимости от того, какие единицы измерения выбраны в меню [Вид], или соответствующим управляющим элементом на «Панели инструментов», координаты будут отображаться в пикселях, дюймах или сантиметрах.

Строки состояния (элементы управления Windows)

Строка состояния — это горизонтальное окно в нижней части родительского окна, в котором приложение может отображать различные типы сведений о состоянии. Строку состояния можно разделить на части для отображения нескольких типов сведений. На следующем снимке экрана показана строка состояния в приложении Microsoft Windows Paint. В этом случае в строке состояния содержится текст «Для справки, щелкните разделы справки в меню «Справка». Строка состояния — это область в нижней части окна, содержащая текст справки и сведения о координатах.

Снимок экрана: приложение paint с строкой состояния, содержащей подсказки о справке в Интернете

Этот раздел содержит следующие темы.

  • Типы и стили
  • Размер и высота
  • Многокомпонентные столбцы состояния
  • Операции с текстом в строке состояния
  • Нарисованные владельцем столбцы состояния
  • Панели состояния простого режима
  • Обработка сообщений в строке состояния по умолчанию

Типы и стили

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

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

Не рекомендуется комбинировать стили CCS_TOP и SBARS_SIZEGRIP , так как результирующий захват размера не работает.

Размер и высота

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

Процедура окна автоматически настраивает размер строки состояния при получении WM_SIZE сообщения. Как правило, при изменении размера родительского окна родитель отправляет WM_SIZE сообщение в строку состояния.

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

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

Multiple-Part столбцы состояния

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

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

Операции с текстом в строке состояния

Текст любой части строки состояния задается путем отправки сообщения SB_SETTEXT , указания отсчитываемого от нуля индекса части, адреса строки для рисования в части и способа рисования строки. Метод рисования определяет, имеет ли текст границу и, если это так, стиль границы. Он также определяет, отвечает ли родительское окно за рисование текста. Дополнительные сведения см. в разделе «Нарисованные владельцами столбцы состояния » ниже.

По умолчанию текст выравнивается по левому краю в указанной части строки состояния. Вы можете внедрить символы табуляции (\t) в текст, чтобы выровнять его по центру или по правому краю. Текст справа от одного символа табуляции выравнивается по центру, а текст справа от второго символа табуляции выравнивается по правому краю.

Если приложение использует строку состояния, которая содержит только одну часть, можно использовать WM_SETTEXT, WM_GETTEXT и WM_GETTEXTLENGTH сообщения для выполнения текстовых операций. Эти сообщения относятся только к части, индекс которой равен нулю, что позволяет обрабатывать строку состояния так же, как статический текстовый элемент управления.

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

Owner-Drawn столбцы состояния

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

Чтобы определить часть окна как нарисованную владельцем, отправьте сообщение SB_SETTEXT в строку состояния, указав часть и метод рисования SBT_OWNERDRAW. Если указано SBT_OWNERDRAW, параметр lParam является 32-разрядным значением, определяемым приложением, которое приложение может использовать при рисовании части. Например, можно указать дескриптор шрифта, дескриптор точечных рисунков, адрес строки и т. д.

Если в строке состояния нужно нарисовать часть, нарисованную владельцем, она отправляет сообщение WM_DRAWITEM в родительское окно. Параметр wParam сообщения является идентификатором дочернего окна строки состояния, а параметр lParam — адрес структуры DRAWITEMSTRUCT . Родительское окно использует сведения в структуре для рисования части. Для части строки состояния, нарисованной владельцем, DRAWITEMSTRUCT содержит следующие сведения.

Член Описание
CtlType Неопределенный; не использовать.
CtlID Идентификатор дочернего окна строки состояния.
Itemid Отсчитываемый от нуля индекс отрисовки части.
itemAction Неопределенный; не использовать.
ItemState Неопределенный; не использовать.
hwndItem Дескриптор в строке состояния.
Hdc Обработка контекста устройства в строке состояния.
rcItem Координаты отрисовываемой части окна. Координаты находятся относительно левого верхнего угла строки состояния.
Itemdata Определяемое приложением 32-разрядное значение, указанное в параметре lParamсообщения SB_SETTEXT .

Панели состояния простого режима

Вы переводите строку состояния в «простой режим», отправляя ей SB_SIMPLE сообщение. В строке состояния простого режима отображается только одна часть. Если задан текст окна, окно становится недействительным, но не будет перерисовывано до следующего WM_PAINT. Ожидание сообщения уменьшает мерцание экрана, сводя к минимуму количество перерисовок окна. Строка состояния простого режима полезна для отображения текста справки для пунктов меню во время прокрутки меню.

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

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

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

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

Сообщение Обработка по умолчанию
WM_CREATE Инициализирует строку состояния.
WM_DESTROY Освобождает ресурсы, выделенные для строки состояния.
WM_GETFONT Возвращает дескриптор текущего шрифта, с помощью которого строка состояния рисует свой текст.
WM_GETTEXT Копирует текст из первой части строки состояния в буфер. Он возвращает 32-разрядное значение, указывающее длину текста в символах и метод, используемый для рисования текста.
WM_GETTEXTLENGTH Возвращает 32-разрядное значение, указывающее длину (в символах) текста в первой части строки состояния и метод, используемый для рисования текста.
WM_NCHITTEST Возвращает значение HTBOTTOMRIGHT, если курсор мыши находится в захвате размера, что приводит к отображению курсора изменения размера системой. Если курсор мыши не находится в захвате размера, строка состояния передает это сообщение в функцию DefWindowProc .
WM_PAINT Закрашивает недопустимую область строки состояния. Если параметр wParam не равен NULL, элемент управления предполагает, что значение является HDC, и рисует с помощью этого контекста устройства.
WM_SETFONT Выбирает дескриптор шрифта в контексте устройства для строки состояния.
WM_SETTEXT Копирует указанный текст в первую часть строки состояния, используя операцию рисования по умолчанию (задано как ноль). Он возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае.
WM_SIZE Изменяет размер строки состояния в зависимости от текущей ширины клиентской области родительского окна и высоты текущего шрифта строки состояния.

Строка состояния

Строка состояния находится снизу на панели инструментов. Она отображает важную информацию о положении указателя мыши.

Чтобы показать или скрыть строку состояния, нажмите на кнопку Настройка вида окна на панели инструментов и активируйте/дезактивируйте пункт Строка состояния .

Статусы Вкл/Выкл отображения строки состояния в окне Редактор ударных и в версии редактора в нижней зоне независимы друг от друга.

Позиция курсора — Время:

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

Позиция курсора — Нота:

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

Начало цикла трека/конец цикла трека

Если на панели инструментов активирован пункт Независимое зацикливание трека , и вы установили начальную и конечную границы цикла, их позиция будет отображена.

  1. ��
  2. Вдаваясь в детали
  3. MIDI редакторы
  4. Редактор ударных
  5. Строка состояния

Строка состояния

В строке состояния отображается справочная информация, которая может оказаться весьма полезной во время работы с Paint.NET.

Строка состояния Paint.NET

Состояние и подсказки

При использовании какого-либо инструмента, первый раздел строки состояния отображает название этого инструмента и быстрые контекстные подсказки по его использованию. Для некоторых инструментов, например, для инструмента Текст, содержание контекстной подсказки будет зависеть от того, какие действия этим инструментом уже были выполнены. Некоторые инструменты используют при работе эту область для отображения информации о том, что делается в данный момент, например, инструменты выбора области отображают в этой строке информацию о её размере.

Состояние процесса выполнения

При выполнении эффекта для Paint.NET или преобразовании изображения, здесь будет наглядно отображаться состояние этого процесса и оставшееся время до его завершения.

Размер изображения

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

Местоположение курсора

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *