Использование списка изображений с элементом управления главной панели
Каждая полоса перекладки может содержать, помимо прочего, изображение из связанного списка изображений. В следующей процедуре описаны необходимые шаги для отображения изображения в полосе перекладки.
Отображение изображений в полосе перерезки
Вложите список изображений к объекту элемента управления перестроением, выполнив вызов SetImageList, передав указатель на существующий список изображений.
Измените структуру REBARBANDINFO , чтобы назначить изображение полосе перестроения:
Задайте для элемента
RBBIM_IMAGE
fMask значение , используя побитовый оператор OR, чтобы включить дополнительные флаги при необходимости.Задайте элемент iImage индексу списка изображений отображаемого изображения.
Инициализировать все остальные элементы данных, такие как размер, текст и дескриптор автономного дочернего окна, с необходимыми сведениями.
Вставьте новую полосу (с изображением) с вызовом CReBarCtrl::InsertBand, передав структуру REBARBANDINFO.
В следующем примере предполагается, что существующий объект списка изображений с двумя изображениями был присоединен к объекту элемента управления перекладиной (m_wndReBar
). Добавляется новая полоса перестроек (определяемая rbi
), содержащая первое изображение, с вызовом InsertBand
:
REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO);
rbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD | RBBIM_IMAGE |
RBBIM_CHILDSIZE | RBBIM_STYLE | RBBIM_TEXT;
rbi.fStyle = RBBS_GRIPPERALWAYS;
rbi.cxMinChild = 200;
rbi.cyMinChild = 50;
rbi.lpText = _T("Band #2");
rbi.cch = 7;
rbi.cx = 300;
rbi.hbmBack = (HBITMAP)m_RebarBitmap;
rbi.iImage = 0;
rbi.hwndChild = (HWND)m_Toolbar2;
m_Rebar.GetReBarCtrl().InsertBand(1, &rbi);