Элементы управления "Главная панель" и "полосы"
Главная цель элемента управления " Главная панель " действовать как контейнер для дочерних окон, общих элементов управления диалогового окна, меню, панелей инструментов и т дЭто контейнеры поддерживается понятием «полосы». Каждая полоса главной панели может содержать любое сочетание полосу захвата, растровое изображение, текстовая подпись и дочернее окно.
Класс CReBarCtrl имеет многие функции-члены, которые можно использовать для извлечения и изменения сведений для определенной зоны главной панели:
GetBandCount получает количество текущих полос в элементе управления " Главная панель.
GetBandInfo инициализирует структуру REBARBANDINFO со сведениями из указанной полосы.Соответствующей функции-члена SetBandInfo.
GetRect получает ограничивающий прямоугольник конкретной зоны.
Извлекает число строк GetRowCount полосы в элементе управления " Главная панель.
IDToIndex извлекает индекс заданного диапазона.
GetBandBorders извлекает границы диапазона.
Помимо манипуляций нескольких функций-членов, при условии, что позволяют работать с переданным ей отдельные полосы главной панели.
InsertBand и DeleteBand добавляют и удаляют полосы главной панели.MinimizeBand и MaximizeBand влияют на текущий размер конкретной зоны главной панели.MoveBand изменяет индекс конкретной зоны главной панели.ShowBand показывает или скрывает полосу главной панели от пользователя.
В следующем примере показано добавление полосы панели инструментов (m_wndToolBar) к существующему элементу управления " Главная панель " (m_wndReBar).Полоса описана путем инициализации структуры rbi а затем вызвать функцию-член InsertBand:
//load bitmap for toolbar background
m_RebarBitmap.LoadBitmap(IDB_BITMAP1);
//create a toolbar band
m_Toolbar1.Create(this, TBSTYLE_TRANSPARENT | TBSTYLE_FLAT);
m_Toolbar1.LoadToolBar(IDR_MAINFRAME);
REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO);
rbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD | RBBIM_CHILDSIZE |
RBBIM_STYLE | RBBIM_TEXT;
rbi.fStyle = RBBS_GRIPPERALWAYS;
rbi.cxMinChild = 300;
rbi.cyMinChild = 50;
rbi.lpText = _T("Band #1");
rbi.cch = 7;
rbi.cx = 300;
rbi.hbmBack = (HBITMAP)m_RebarBitmap;
rbi.hwndChild = (HWND)m_Toolbar1;
m_Rebar.GetReBarCtrl().InsertBand(0, &rbi);