Класс CReBarCtrl
Инкапсулирует функциональность элемента управления "главная панель ", который представляет собой контейнер для дочернего окна.
Синтаксис
class CReBarCtrl : public CWnd
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CReBarCtrl::CReBarCtrl | Формирует объект CReBarCtrl . |
Открытые методы
Имя | Описание |
---|---|
CReBarCtrl::BeginDrag | Помещает элемент управления rebar в режим перетаскивания. |
CReBarCtrl::Create | Создает элемент управления rebar и присоединяет его к объекту CReBarCtrl . |
CReBarCtrl::CreateEx | Создает элемент управления rebar с указанными расширенными стилями Windows и присоединяет его к объекту CReBarCtrl . |
CReBarCtrl::D eleteBand | Удаляет полосу из элемента управления rebar. |
CReBarCtrl::D ragMove | Обновляет позицию перетаскивания в элементе управления перекладиной после вызова BeginDrag . |
CReBarCtrl::EndDrag | Завершает операцию перетаскивания элемента управления перекладиной панели. |
CReBarCtrl::GetBandBorders | Извлекает границы полосы. |
CReBarCtrl::GetBandCount | Извлекает количество полос в данный момент в элементе управления перебары. |
CReBarCtrl::GetBandInfo | Извлекает сведения об указанной полосе в элементе управления перекладиной. |
CReBarCtrl::GetBandMargins | Извлекает поля полосы. |
CReBarCtrl::GetBarHeight | Извлекает высоту элемента управления перекладиной. |
CReBarCtrl::GetBarInfo | Извлекает сведения об элементе управления rebar и списке изображений, который он использует. |
CReBarCtrl::GetBkColor | Извлекает цвет фона элемента управления rebar по умолчанию. |
CReBarCtrl::GetColorScheme | Извлекает структуру COLORSCHEME , связанную с элементом управления rebar. |
CReBarCtrl::GetDropTarget | Извлекает указатель интерфейса элемента управления IDropTarget rebar. |
CReBarCtrl::GetExtendedStyle | Возвращает расширенный стиль текущего элемента управления перебары. |
CReBarCtrl::GetImageList | Извлекает список изображений, связанный с элементом управления rebar. |
CReBarCtrl::GetPalette | Извлекает текущую палитру элемента управления rebar. |
CReBarCtrl::GetRect | Извлекает ограничивающий прямоугольник для заданной полосы в элементе управления перекладивание. |
CReBarCtrl::GetRowCount | Извлекает количество строк полосы в элементе управления перестроения. |
CReBarCtrl::GetRowHeight | Извлекает высоту указанной строки в элементе управления перестроения. |
CReBarCtrl::GetTextColor | Извлекает цвет текста элемента управления перебары по умолчанию. |
CReBarCtrl::GetToolTips | Извлекает дескриптор для любого элемента управления подсказки средства, связанного с элементом управления перекладиной. |
CReBarCtrl::HitTest | Определяет, какая часть полосы перекладки находится в заданной точке на экране, если полоса перекладки существует в этой точке. |
CReBarCtrl::IDToIndex | Преобразует идентификатор полосы (ID) в индекс полосы в элементе управления rebar. |
CReBarCtrl::InsertBand | Вставляет новую полосу в элемент управления rebar. |
CReBarCtrl::MaximizeBand | Изменяет размер полосы в элементе управления перебарикой до самого большого размера. |
CReBarCtrl::MinimizeBand | Изменяет размер полосы в элементе управления перестроек до наименьшего размера. |
CReBarCtrl::MoveBand | Перемещает полосу из одного индекса в другой. |
CReBarCtrl::P ushChevron | Программно толкает шеврон. |
CReBarCtrl::RestoreBand | Изменяет размер полосы в элементе управления ребарю до его идеального размера. |
CReBarCtrl::SetBandInfo | Задает характеристики существующей полосы в элементе управления ребарю. |
CReBarCtrl::SetBandWidth | Задает ширину указанной закрепленной полосы в текущем элементе управления перебары. |
CReBarCtrl::SetBarInfo | Задает характеристики элемента управления перекладиной. |
CReBarCtrl::SetBkColor | Задает цвет фона элемента управления rebar по умолчанию. |
CReBarCtrl::SetColorScheme | Задает цветовую схему для кнопок на панели управления. |
CReBarCtrl::SetExtendedStyle | Задает расширенные стили для текущего элемента управления перебары. |
CReBarCtrl::SetImageList | Задает список изображений элемента управления rebar. |
CReBarCtrl::SetOwner | Задает окно владельца элемента управления rebar. |
CReBarCtrl::SetPalette | Задает текущую палитру элемента управления перебары. |
CReBarCtrl::SetTextColor | Задает цвет текста элемента управления перекладиной по умолчанию. |
CReBarCtrl::SetToolTips | Связывает элемент управления подсказки средства с элементом управления "Перекладка". |
CReBarCtrl::SetWindowTheme | Задает визуальный стиль элемента управления rebar. |
CReBarCtrl::ShowBand | Отображает или скрывает заданную полосу в элементе управления перекладиной. |
CReBarCtrl::SizeToRect | Помещает элемент управления rebar в указанный прямоугольник. |
Замечания
Приложение, в котором находится элемент управления rebar, назначает дочернее окно, содержащееся элементом управления rebar для полосы перекладки. Дочернее окно обычно является другим общим элементом управления.
Элементы управления rebar содержат одну или несколько полос. Каждая группа может содержать сочетание панели захвата, растрового изображения, текстовой метки и дочернего окна. Группа может содержать только один из этих элементов.
Элемент управления "Перебор" может отображать дочернее окно по указанному фоновому растровом рисунку. Все полосы управления перебары можно изменить, за исключением тех, которые используют стиль RBBS_FIXEDSIZE. При перепозиции или изменении размера полосы управления перебары элемент управления управляет размером и положением дочернего окна, назначенным этому диапазону. Чтобы изменить или изменить порядок полос в элементе управления, щелкните и перетащите панель захвата полосы.
На следующем рисунке показан элемент управления перебары с тремя полосами:
Группа 0 содержит неструктурированный, прозрачный элемент управления панели инструментов.
Группа 1 содержит как прозрачные стандартные, так и прозрачные кнопки раскрывающегося списка.
Группа 2 содержит поле со списком и четыре стандартные кнопки.
Элемент управления "Перебара"
Поддержка элементов управления перебаре:
Списки изображений.
Обработка сообщений.
Пользовательские функции рисования.
Различные стили элементов управления в дополнение к стандартным стилям окон. Список этих стилей см. в статье "Стили элементов управления перебарами" в пакете SDK для Windows.
Дополнительные сведения см. в разделе "Использование CReBarCtrl".
Иерархия наследования
CReBarCtrl
Требования
Заголовок: afxcmn.h
CReBarCtrl::BeginDrag
Реализует поведение сообщения Win32 RB_BEGINDRAG, как описано в пакете SDK для Windows.
void BeginDrag(
UINT uBand,
DWORD dwPos = (DWORD)-1);
Параметры
uBand
Отсчитываемый от нуля индекс полосы, на который влияет операция перетаскивания.
dwPos
Значение DWORD, содержащее начальные координаты мыши. Горизонтальная координата содержится в LOWORD, а вертикальная координата содержится в HIWORD. Если вы передаете (DWORD)-1, элемент управления rebar будет использовать положение мыши при последнем вызове GetMessage
потока элемента управления или PeekMessage
.
CReBarCtrl::Create
Создает элемент управления rebar и присоединяет его к объекту CReBarCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwStyle
Задает сочетание стилей элементов управления rebar, применяемых к элементу управления. Список поддерживаемых стилей см. в статье "Стили элементов управления перебарами" в пакете SDK для Windows.
rect
Ссылка на объект CRect или структуру RECT , которая представляет собой позицию и размер элемента управления ребарю.
pParentWnd
Указатель на объект CWnd , который является родительским окном элемента управления rebar. Он не должен иметь значение NULL.
nID
Указывает идентификатор элемента управления rebar.
Возвращаемое значение
Ненулевое значение, если объект был создан успешно; в противном случае — 0.
Замечания
Создайте элемент управления перебары в двух шагах:
Вызовите CReBarCtrl для создания
CReBarCtrl
объекта.Вызовите эту функцию-член, которая создает элемент управления перебары Windows и присоединяет его к объекту
CReBarCtrl
.
При вызове Create
общие элементы управления инициализированы.
Пример
CReBarCtrl *pReBarCtrl = new CReBarCtrl();
CRect rect;
GetWindowRect(rect);
pReBarCtrl->Create(RBS_BANDBORDERS, rect, this, AFX_IDW_REBAR);
// Use ReBar Control.
delete pReBarCtrl;
CReBarCtrl::CreateEx
Создает элемент управления (дочернее окно) и связывает его с CReBarCtrl
объектом.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwExStyle
Задает расширенный стиль создаваемого элемента управления. Список расширенных стилей Windows см. в параметре dwExStyle для CreateWindowEx в пакете SDK для Windows.
dwStyle
Задает сочетание стилей элементов управления rebar, применяемых к элементу управления. Список поддерживаемых стилей см. в разделе "Стили элементов управления перебарами" в пакете SDK для Windows.
rect
Ссылка на структуру RECT , описывающую размер и положение создаваемого окна в координатах клиента pParentWnd.
pParentWnd
Указатель на окно, которое является родительским элементом элемента управления.
nID
Идентификатор дочернего окна элемента управления.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
Замечания
Используйте CreateEx
вместо создания расширенные стили Windows, указанные предисловием расширенного стиля Windows WS_EX_.
CReBarCtrl::CReBarCtrl
Создает объект CReBarCtrl
.
CReBarCtrl();
Пример
См. пример CReBarCtrl ::Create.
CReBarCtrl::D eleteBand
Реализует поведение сообщения Win32 RB_DELETEBAND, как описано в пакете SDK для Windows.
BOOL DeleteBand(UINT uBand);
Параметры
uBand
Отсчитываемый от нуля индекс полосы.
Возвращаемое значение
Ненулевое значение, если группа успешно удалена; в противном случае ноль.
Пример
UINT nCount = m_wndReBar.GetReBarCtrl().GetBandCount();
if (nCount > 0)
m_wndReBar.GetReBarCtrl().DeleteBand(nCount - 1);
CReBarCtrl::D ragMove
Реализует поведение сообщения Win32 RB_DRAGMOVE, как описано в пакете SDK для Windows.
void DragMove(DWORD dwPos = (DWORD)-1);
Параметры
dwPos
Значение DWORD, содержащее новые координаты мыши. Горизонтальная координата содержится в LOWORD, а вертикальная координата содержится в HIWORD. Если вы передаете (DWORD)-1, элемент управления rebar будет использовать положение мыши при последнем вызове GetMessage
потока элемента управления или PeekMessage
.
CReBarCtrl::EndDrag
Реализует поведение сообщения Win32 RB_ENDDRAG, как описано в пакете SDK для Windows.
void EndDrag();
CReBarCtrl::GetBandBorders
Реализует поведение сообщения Win32 RB_GETBANDBORDERS, как описано в пакете SDK для Windows.
void GetBandBorders(
UINT uBand,
LPRECT prc) const;
Параметры
uBand
Отсчитываемый от нуля индекс полосы, для которого будут извлечены границы.
Кнр
Указатель на структуру RECT , которая получит границы полосы. Если элемент управления rebar имеет стиль RBS_BANDBORDERS, каждый элемент этой структуры получит количество пикселей на соответствующей стороне полосы, которая представляет собой границу. Если элемент управления rebar не имеет стиля RBS_BANDBORDERS, то только левый элемент этой структуры получает допустимые сведения. Описание стилей элементов управления rebar см. в разделе "Стили элементов управления "Перебар" в пакете SDK для Windows.
CReBarCtrl::GetBandCount
Реализует поведение сообщения Win32 RB_GETBANDCOUNT, как описано в пакете SDK для Windows.
UINT GetBandCount() const;
Возвращаемое значение
Количество полос, назначенных элементу управления.
CReBarCtrl::GetBandInfo
Реализует поведение сообщения Win32 RB_GETBANDINFO , как описано в пакете SDK для Windows.
BOOL GetBandInfo(
UINT uBand,
REBARBANDINFO* prbbi) const;
Параметры
uBand
Отсчитываемый от нуля индекс диапазона, для которого будут получены сведения.
prbbi
Указатель на структуру REBARBANDINFO для получения сведений о диапазоне. Перед отправкой этого сообщения необходимо задать cbSize
элемент этой структуры sizeof(REBARBANDINFO)
и задать fMask
его для элементов, которые необходимо получить.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CReBarCtrl::GetBandMargins
Извлекает поля группы.
void GetBandMargins(PMARGINS pMargins);
Параметры
pMargins
Указатель на структуру MARGINS, которая получит информацию.
Замечания
Эта функция-член эмулирует функциональные возможности сообщения RB_GETBANDMARGINS , как описано в пакете SDK для Windows.
CReBarCtrl::GetBarHeight
Извлекает высоту панели перекладки.
UINT GetBarHeight() const;
Возвращаемое значение
Значение, представляющее высоту элемента управления в пикселях.
CReBarCtrl::GetBarInfo
Реализует поведение RB_GETBARINFO сообщения Win32, как описано в пакете SDK для Windows.
BOOL GetBarInfo(REBARINFO* prbi) const;
Параметры
prbi
Указатель на структуру REBARINFO , которая получит сведения об элементе управления перестроением. Перед отправкой этого сообщения необходимо задать для элемента cbSize этой структуры sizeof(REBARINFO)
.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CReBarCtrl::GetBkColor
Реализует поведение RB_GETBKCOLOR сообщения Win32, как описано в пакете SDK для Windows.
COLORREF GetBkColor() const;
Возвращаемое значение
Значение COLORREF, представляющее текущий цвет фона по умолчанию.
CReBarCtrl::GetColorScheme
Извлекает структуру COLORSCHEME для элемента управления rebar.
BOOL GetColorScheme(COLORSCHEME* lpcs);
Параметры
lpcs
Указатель на структуру COLORSCHEME , как описано в пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Структура COLORSCHEME
включает цвет выделения кнопки и цвет тени кнопки.
CReBarCtrl::GetDropTarget
Реализует поведение сообщения Win32 RB_GETDROPTARGET, как описано в пакете SDK для Windows.
IDropTarget* GetDropTarget() const;
Возвращаемое значение
Указатель на интерфейс IDropTarget .
CReBarCtrl::GetExtendedStyle
Возвращает расширенные стили текущего элемента управления перебары.
DWORD GetExtendedStyle() const;
Возвращаемое значение
Побитовое сочетание флагов (OR), указывающее расширенные стили. Возможные флаги RBS_EX_SPLITTER и RBS_EX_TRANSPARENT. Дополнительные сведения см. в параметре dwMask метода CReBarCtrl::SetExtendedStyle.
Замечания
Этот метод отправляет сообщение RB_GETEXTENDEDSTYLE , описанное в пакете SDK для Windows.
CReBarCtrl::GetImageList
Возвращает объект, связанный CImageList
с элементом управления rebar.
CImageList* GetImageList() const;
Возвращаемое значение
Указатель на объект CImageList . Возвращает значение NULL, если для элемента управления не задан список изображений.
Замечания
Эта функция-член использует сведения о размере и маске, хранящиеся в структуре REBARINFO , как описано в пакете SDK для Windows.
CReBarCtrl::GetPalette
Извлекает текущую палитру элемента управления rebar.
CPalette* GetPalette() const;
Возвращаемое значение
Указатель на объект CPalette, указывающий текущую палитру элемента управления перебары.
Замечания
Обратите внимание, что эта функция-член использует CPalette
объект в качестве возвращаемого значения, а не HPALETTE.
Пример
CPalette *pPalette = m_wndReBar.GetReBarCtrl().GetPalette();
if (pPalette)
{
int nEntries = pPalette->GetEntryCount();
CString msg;
msg.Format(_T("Number of palette entries: %d"), nEntries);
AfxMessageBox(msg);
}
else
{
AfxMessageBox(_T("No palette!"));
}
CReBarCtrl::GetRect
Реализует поведение сообщения Win32 RB_GETRECT, как описано в пакете SDK для Windows.
BOOL GetRect(
UINT uBand,
LPRECT prc) const;
Параметры
uBand
Отсчитываемый от нуля индекс полосы в элементе управления rebar.
Кнр
Указатель на структуру RECT , которая получит границы полосы перестроения.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
CRect rc;
m_wndReBar.GetReBarCtrl().GetRect(0, &rc);
CString msg;
msg.Format(_T("rect.left = %d, rect.top = %d, ")
_T("rect.right = %d, rect.bottom = %d"),
rc.left,
rc.top, rc.right, rc.bottom);
AfxMessageBox(msg);
CReBarCtrl::GetRowCount
Реализует поведение сообщения Win32 RB_GETROWCOUNT, как описано в пакете SDK для Windows.
UINT GetRowCount() const;
Возвращаемое значение
Значение UINT, представляющее количество строк полосы в элементе управления.
Пример
UINT nRowCount = m_wndReBar.GetReBarCtrl().GetRowCount();
CString msg;
msg.Format(_T("Row Count is %d"), nRowCount);
AfxMessageBox(msg);
CReBarCtrl::GetRowHeight
Реализует поведение сообщения Win32 RB_GETROWHEIGHT, как описано в пакете SDK для Windows.
UINT GetRowHeight(UINT uRow) const;
Параметры
uRow
Отсчитываемый от нуля индекс полосы, который получит свою высоту.
Возвращаемое значение
Значение UINT, представляющее высоту строки в пикселях.
Пример
int nCount = m_wndReBar.GetReBarCtrl().GetRowCount();
for (int i = 0; i < nCount; i++)
{
UINT nHeight = m_wndReBar.GetReBarCtrl().GetRowHeight(i);
CString msg;
msg.Format(_T("Height of row %d is %u"), i, nHeight);
AfxMessageBox(msg);
}
CReBarCtrl::GetTextColor
Реализует поведение RB_GETTEXTCOLOR сообщения Win32, как описано в пакете SDK для Windows.
COLORREF GetTextColor() const;
Возвращаемое значение
Значение COLORREF, представляющее текущий цвет текста по умолчанию.
CReBarCtrl::GetToolTips
Реализует поведение сообщения Win32 RB_GETTOOLTIPS, как описано в пакете SDK для Windows.
CToolTipCtrl* GetToolTips() const;
Возвращаемое значение
Указатель на объект CToolTipCtrl .
Замечания
Обратите внимание, что реализация GetToolTips
MFC возвращает указатель на CToolTipCtrl
объект, а не HWND.
CReBarCtrl::HitTest
Реализует поведение сообщения Win32 RB_HITTEST, как описано в пакете SDK для Windows.
int HitTest(RBHITTESTINFO* prbht);
Параметры
prbht
Указатель на структуру RBHITTESTINFO . Перед отправкой сообщения pt
элемент этой структуры необходимо инициализировать до точки, которая будет проверена в координатах клиента.
Возвращаемое значение
Отсчитываемый от нуля индекс полосы в заданной точке или -1, если в точке не было полосы перекладок.
CReBarCtrl::IDToIndex
Реализует поведение сообщения Win32 RB_IDTOINDEX, как описано в пакете SDK для Windows.
int IDToIndex(UINT uBandID) const;
Параметры
uBandID
Определяемый приложением идентификатор указанной полосы, переданный в wID
член структуры REBARBANDINFO при вставке полосы.
Возвращаемое значение
Индекс отсчитываемой от нуля полосы при успешном выполнении или -1 в противном случае. Если существуют повторяющиеся индексы полосы, возвращается первый.
CReBarCtrl::InsertBand
Реализует поведение RB_INSERTBAND сообщения Win32, как описано в пакете SDK для Windows.
BOOL InsertBand(
UINT uIndex,
REBARBANDINFO* prbbi);
Параметры
uIndex
Отсчитываемый от нуля индекс расположения, в котором будет вставлена полоса. Если для этого параметра задано значение -1, элемент управления добавит новую полосу в последнем расположении.
prbbi
Указатель на структуру REBARBANDINFO , определяющую вставленную полосу. Перед вызовом этой функции необходимо задать для элемента cbSize этой структуры sizeof(REBARBANDINFO)
.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);
TCHAR szText[80];
rbbi.lpText = szText;
rbbi.cch = sizeof(szText) / sizeof(szText[0]);
rbbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD |
RBBIM_CHILDSIZE | RBBIM_COLORS | RBBIM_HEADERSIZE |
RBBIM_IDEALSIZE | RBBIM_ID | RBBIM_IMAGE |
RBBIM_LPARAM | RBBIM_SIZE | RBBIM_STYLE | RBBIM_TEXT;
m_wndReBar.GetReBarCtrl().GetBandInfo(0, &rbbi);
m_wndReBar.GetReBarCtrl().InsertBand(1, &rbbi);
CReBarCtrl::MaximizeBand
Изменяет размер полосы в элементе управления перебарикой до самого большого размера.
void MaximizeBand(UINT uBand);
Параметры
uBand
Отсчитываемый от нуля индекс полосы.
Замечания
Реализует поведение сообщения Win32 RB_MAXIMIZEBAND с fIdeal
установленным значением 0, как описано в пакете SDK для Windows.
Пример
CReBarCtrl& refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();
for (UINT i = 0; i < nCount; i++)
refReBarCtrl.MaximizeBand(i);
CReBarCtrl::MinimizeBand
Изменяет размер полосы в элементе управления перестроек до наименьшего размера.
void MinimizeBand(UINT uBand);
Параметры
uBand
Отсчитываемый от нуля индекс полосы, который необходимо свести к минимуму.
Замечания
Реализует поведение RB_MINIMIZEBAND сообщения Win32, как описано в пакете SDK для Windows.
Пример
CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();
for (UINT i = 0; i < nCount; i++)
refReBarCtrl.MinimizeBand(i);
CReBarCtrl::MoveBand
Реализует поведение RB_MOVEBAND сообщения Win32, как описано в пакете SDK для Windows.
BOOL MoveBand(
UINT uFrom,
UINT uTo);
Параметры
uFrom
Отсчитываемый от нуля индекс перемещаемой полосы.
uTo
Отсчитываемый от нуля индекс новой позиции полосы. Это значение параметра никогда не должно быть больше числа полос минус один. Чтобы получить количество полос, вызовите GetBandCount.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CReBarCtrl::P ushChevron
Реализует поведение сообщения Win32 RB_PUSHCHEVRON, как описано в пакете SDK для Windows.
void PushChevron(
UINT uBand,
LPARAM lAppValue);
Параметры
uBand
Отсчитываемый от нуля индекс группы, шеврон которого необходимо отправить.
lAppValue
Приложение, определенное 32-разрядное значение. См . статью lAppValue в RB_PUSHCHEVRON в пакете SDK для Windows.
CReBarCtrl::RestoreBand
Изменяет размер полосы в элементе управления ребарю до его идеального размера.
void RestoreBand(UINT uBand);
Параметры
uBand
Отсчитываемый от нуля индекс полосы.
Замечания
Реализует поведение сообщения Win32, RB_MAXIMIZEBAND с fIdeal
установленным значением 1, как описано в пакете SDK для Windows.
Пример
CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();
for (UINT i = 0; i < nCount; i++)
refReBarCtrl.RestoreBand(i);
CReBarCtrl::SetBandInfo
Реализует поведение сообщения Win32 RB_SETBANDINFO, как описано в пакете SDK для Windows.
BOOL SetBandInfo(
UINT uBand,
REBARBANDINFO* prbbi);
Параметры
uBand
Отсчитываемый от нуля индекс полосы для получения новых параметров.
prbbi
Указатель на структуру REBARBANDINFO , определяющую вставленную полосу. Перед отправкой cbSize
этого сообщения необходимо задать элемент этой структуры sizeof(REBARBANDINFO)
.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
int nCount = m_wndReBar.GetReBarCtrl().GetBandCount();
CString strText;
REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);
for (int i = 0; i < nCount; i++)
{
strText.Format(_T("Band #: %d"), i);
rbbi.lpText = strText.GetBuffer();
rbbi.cch = strText.GetLength() + 1;
rbbi.fMask = RBBIM_TEXT;
m_wndReBar.GetReBarCtrl().SetBandInfo(i, &rbbi);
strText.ReleaseBuffer();
}
CReBarCtrl::SetBandWidth
Задает ширину указанной закрепленной полосы в текущем элементе управления перебары.
BOOL SetBandWidth(
UINT uBand,
int cxWidth);
Параметры
uBand
[in] Отсчитываемый от нуля индекс полосы перекладки.
cxWidth
[in] Новая ширина полосы перекладки в пикселях.
Возвращаемое значение
ЗНАЧЕНИЕ TRUE, если метод выполнен успешно; в противном случае — ЗНАЧЕНИЕ FALSE.
Замечания
Этот метод отправляет сообщение RB_SETBANDWIDTH , описанное в пакете SDK для Windows.
Пример
Первый пример кода определяет переменную, m_rebar
которая используется для доступа к текущему элементу управления перебары. Эта переменная используется в следующем примере.
public:
CReBarCtrl m_rebar;
BOOL bRet;
static const int TOTAL_BANDS = 5;
static const int BUFFER_SIZE = 10;
Следующий пример кода задает для каждой полосы перевязки одинаковую ширину.
// Set the width of each band.
m_rebar.GetClientRect(&rect);
int iWidth = rect.Width() / TOTAL_BANDS;
for (int iIndex = 0; iIndex < TOTAL_BANDS; iIndex++)
bRet = m_rebar.SetBandWidth(iIndex, iWidth);
CReBarCtrl::SetBarInfo
Реализует поведение сообщения Win32 RB_SETBARINFO, как описано в пакете SDK для Windows.
BOOL SetBarInfo(REBARINFO* prbi);
Параметры
prbi
Указатель на структуру REBARINFO , содержащую заданные сведения. Перед отправкой этого сообщения необходимо задать cbSize
элемент этой структуры.sizeof(REBARINFO)
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
REBARINFO rbi = {0};
rbi.cbSize = sizeof(REBARINFO);
rbi.fMask = 0;
rbi.himl = 0;
m_wndReBar.GetReBarCtrl().SetBarInfo(&rbi);
CReBarCtrl::SetBkColor
Реализует поведение сообщения Win32 RB_SETBKCOLOR, как описано в пакете SDK для Windows.
COLORREF SetBkColor(COLORREF clr);
Параметры
clr
Значение COLORREF, представляющее новый цвет фона по умолчанию.
Возвращаемое значение
Значение COLORREF , представляющее предыдущий цвет фона по умолчанию.
Замечания
Дополнительные сведения о настройке цвета фона и настройке по умолчанию см. в этом разделе.
CReBarCtrl::SetColorScheme
Задает цветовую схему для кнопок на панели управления.
void SetColorScheme(const COLORSCHEME* lpcs);
Параметры
lpcs
Указатель на структуру COLORSCHEME , как описано в пакете SDK для Windows.
Замечания
Структура COLORSCHEME
включает цвет выделения кнопки и цвет тени кнопки.
CReBarCtrl::SetExtendedStyle
Задает расширенные стили для текущего элемента управления перебары.
DWORD SetExtendedStyle(
DWORD dwMask,
DWORD dwStyleEx);
Параметры
dwMask
[in] Побитовое сочетание флагов (OR), указывающее, какие флаги применяются в параметре dwStyleEx . Используйте одно или несколько следующих значений:
RBS_EX_SPLITTER
: по умолчанию отображается разделитель внизу в горизонтальном режиме и справа в вертикальном режиме.RBS_EX_TRANSPARENT
: перенаправите сообщение WM_ERASEBKGND в родительское окно.
dwStyleEx
[in] Побитовое сочетание флагов (OR), указывающее стили для применения. Чтобы задать стиль, укажите тот же флаг, который используется в параметре dwMask . Чтобы сбросить стиль, укажите двоичный ноль.
Возвращаемое значение
Предыдущий расширенный стиль.
Замечания
Этот метод отправляет сообщение RB_SETEXTENDEDSTYLE , описанное в пакете SDK для Windows.
CReBarCtrl::SetImageList
Назначает список изображений элементу управления перебары.
BOOL SetImageList(CImageList* pImageList);
Параметры
pImageList
Указатель на объект CImageList , содержащий список изображений, назначенный элементу управления перебары.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CReBarCtrl::SetOwner
Реализует поведение сообщения Win32 RB_SETPARENT, как описано в пакете SDK для Windows.
CWnd* SetOwner(CWnd* pWnd);
Параметры
pWnd
Указатель на объект, заданный CWnd
как владелец элемента управления перестроения.
Возвращаемое значение
Указатель на объект CWnd , который является текущим владельцем элемента управления перекладки.
Замечания
Обратите внимание, что эта функция-член использует указатели на CWnd
объекты как для текущего, так и выбранного владельца элемента управления перекладки, а не дескрипторов в окнах.
Примечание.
Эта функция-член не изменяет фактический родительский объект, заданный при создании элемента управления; скорее он отправляет сообщения уведомления в указанное окно.
CReBarCtrl::SetPalette
Реализует поведение сообщения Win32 RB_SETPALETTE, как описано в пакете SDK для Windows.
CPalette* SetPalette(HPALETTE hPal);
Параметры
hPal
HpALETTE, указывающий новую палитру, которую будет использовать элемент управления перебары.
Возвращаемое значение
Указатель на объект CPalette, указывающий предыдущую палитру элемента управления перебары.
Замечания
Обратите внимание, что эта функция-член использует CPalette
объект в качестве возвращаемого значения, а не HPALETTE.
CReBarCtrl::SetTextColor
Реализует поведение сообщения Win32 RB_SETTEXTCOLOR, как описано в пакете SDK для Windows.
COLORREF SetTextColor(COLORREF clr);
Параметры
clr
Значение COLORREF, представляющее новый цвет текста в объекте CReBarCtrl
.
Возвращаемое значение
Значение COLORREF , представляющее предыдущий цвет текста, связанный CReBarCtrl
с объектом.
Замечания
Она предоставляется для поддержки гибкости цвета текста в элементе управления перекладиной.
CReBarCtrl::SetToolTips
Связывает элемент управления подсказки средства с элементом управления перекладиной.
void SetToolTips(CToolTipCtrl* pToolTip);
Параметры
pToolTip
Указатель на объект CToolTipCtrl
Замечания
При завершении работы с ним необходимо уничтожить CToolTipCtrl
объект.
CReBarCtrl::SetWindowTheme
Задает визуальный стиль элемента управления rebar.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Параметры
pszSubAppName
Указатель на строку Юникода, содержащую заданный визуальный стиль панели.
Возвращаемое значение
Возвращаемое значение не используется.
Замечания
Эта функция-член эмулирует функциональные возможности сообщения RB_SETWINDOWTHEME , как описано в пакете SDK для Windows.
CReBarCtrl::ShowBand
Реализует поведение сообщения Win32 RB_SHOWBAND, как описано в пакете SDK для Windows.
BOOL ShowBand(
UINT uBand,
BOOL fShow = TRUE);
Параметры
uBand
Отсчитываемый от нуля индекс полосы в элементе управления rebar.
fShow
Указывает, должен ли полоса отображаться или скрыта. Если это значение равно TRUE, будет отображаться полоса. В противном случае группа будет скрыта.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CReBarCtrl::SizeToRect
Реализует поведение сообщения Win32 RB_SIZETORECT, как описано в пакете SDK для Windows.
BOOL SizeToRect(CRect& rect);
Параметры
rect
Ссылка на объект CRect, указывающий прямоугольник, в котором должен быть размер элемента управления перебары.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Обратите внимание, что эта функция-член использует CRect
объект в качестве параметра, а не структуру RECT
.