Визуальное программирование и MFC

       

Изменение характеристик индикаторов


После того, как при помощи метода SetIndicators индикаторы панели состояния созданы, можно изменить некоторые их характеристики, воспользовавшись методом SetPaneInfo:

void SetPaneInfo( int nIndex, UINT nID, UINT nStyle, int cxWidth );

Параметр nIndex определяет порядковый номер индикатора в панели управления (его индекс). Характеристики этого индикатора будут меняться. Метод SetPaneInfo позволяет изменить расположение индикаторов на панели или даже заменить существующий индикатор на новый. Для этого можно указать новый идентификатор через параметр nID.

Внешний вид индикатора, заданного параметрами nIndex и nID, определяется параметрами nStyle и cxWidth. В качестве nStyle можно указать один или несколько атрибутов, объединенных логической операцией ИЛИ.

  • SBPS_NOBORDERS - убрать трехмерную рамку вокруг индикатора.
  • SBPS_POPOUT - обычная рамка вокруг индикатора создает впечатление, что индикатор расположен в углублении. Если указать атрибут SBPS_POPOUT, рамка изменятся таким рбразом, что индикатор будет располагаться выше общего уровня панели состояния.
  • SBPS_DISABLED - если указать этот атрибут, то в индикаторе не будет отображаться текст из соответствующего строкового ресурса.
  • SBPS_STRETCH - один из индикаторов панели состояния может менять свой размер в зависимости от размера окна. Атрибут SBPS_STRETCH предназначен для выбора этого индикатора.
  • SBPS_NORMAL - стандартный индикатор.
  • Если первый элемент массива идентификаторов, переданного методу SetIndicators, содержит константу ID_SEPARATOR, то для первого индикатора панели состояния по умолчанию устанавливаются атрибуты SBPS_NOBORDERS и SBPS_STRETCH.

    Параметр cxWidth определяет ширину индикатора. Когда создается панель состояния и устанавливаются индикаторы при помощи вызова метода SetIndicators, размер индикаторов определяется автоматически исходя из ширины текста индикатора.

    Узнать текущие характеристики индикатора можно при помощи метода GetPaneInfo. Он позволяет определить идентификатор, стиль и ширину идндикатора с индексом nIndex.

    Если требуется определить или установить только стиль индикатора панели состояния, то вместо методов GetPaneInfo и SetPaneInfo лучше использовать два других метода класса CStatusBar: GetPaneStyle и SetPaneStyle.



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