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


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

Элемент управления rebar выступает в качестве контейнера для дочерних окон. Он может содержать одну или несколько полос, и каждая группа может иметь любое сочетание панели захвата, растровой карты, текстовой метки и одного дочернего окна. Приложение назначает дочернее окно (как правило, другой элемент управления) панели управления перебары. При динамическом изменении положения полосы управления перебары элемент управления управляет размером и положением дочернего окна, назначенным этой полосе. Кроме того, приложение может указать фоновое растровое изображение для полосы, а элемент управления перебора отобразит дочернее окно группы по растровой карте.

На следующем снимке экрана показан элемент управления rebar с двумя полосами. Один содержит панель инструментов, а другая — со списком. Оба диапазона имеют захват, который позволяет перемещать и изменять их размер.

screen shot of dialog box showing a rebar control with a band containing a toolbar and a band containing a combo box

Примечание.

Элемент управления перебары реализован в версии 4.70 и более поздних версий Comctl32.dll.

 

Перерезки полос и дочерних окон

Приложение определяет черты полосы перекладок с помощью сообщений RB_INSERТБ AND и RB_SEТБ ANDINFO. Эти сообщения принимают адрес структуры REBARBANDINFO в качестве параметра lParam. Элементы структуры REBARBANDINFO определяют признаки заданной полосы. Чтобы задать признаки группы, задайте элемент cbsize , чтобы указать размер структуры в байтах. Затем задайте элемент fMask , чтобы указать, какие элементы структуры заполняется приложением.

Чтобы назначить дочернее окно группе, добавьте флаг RBBIM_CHILD в элемент fMask структуры REBARBANDINFO, а затем установите элемент hwndChild в дескриптор дочернего окна. Приложения могут задать минимальную допустимую ширину и высоту дочернего окна в элементах cxMinChild и cyMinChild.

При уничтожении элемента управления перекладиной он уничтожает все дочерние окна, назначенные полосам внутри него. Чтобы предотвратить уничтожение дочерних окон, назначенных его полосам, удалите полосы, отправив сообщение RB_DELETEBAND, а затем используйте сообщение RB_SETPARENT, чтобы сбросить родительский элемент в другое окно, прежде чем уничтожить элемент управления перекладивание.

Пользовательский интерфейс элемента управления rebar

Все полосы управления перебары можно изменить, за исключением тех, которые используют стиль RBBS_FIXEDSIZE. Чтобы изменить или изменить порядок полос в элементе управления, щелкните и перетащите панель захвата полосы. Элемент управления rebar автоматически изменяет размер и изменяет положение дочерних окон, назначенных его полосам. Кроме того, можно переключать размер полосы, щелкнув текст группы, если есть.

Список изображений элемента управления rebar

Если приложение использует список изображений с элементом управления перебором, оно должно отправить сообщение RB_SEТБ ARINFO перед добавлением полос в элемент управления. Это сообщение принимает адрес структуры REBARINFO в качестве параметра lParam. Перед отправкой сообщения подготовьте структуру REBARINFO , установив для элемента cbSize размер структуры в байтах. Затем, если элемент управления перестроек будет отображать изображения на полосах, задайте элемент fMask флагу RBIM_IMAGELIST и назначьте дескриптор списка изображений его члену. Если панель не будет использовать образы полосы, задайте для fMask значение нулю.

Переадресация сообщений элемента управления переадресациям элементов управления

Элемент управления перенаправит все сообщения окна WM_NOTIFY в родительское окно. Кроме того, элемент управления перенаправит все сообщения, отправленные ему из окон, назначенных его полосам, например WM_CHARTOITEM, WM_COMMAND и другие.