ReBar - это панель, которая может включать и
ToolBar и
DialogBar. Вы можете создавать
ReBar используя
AppWizard. На четвертом шаге настройки приложения у Вас спросят "что Вы будете создавать". Здесь можно выбрать
ReBar.

Давайте посмотрим на код, который будет создан. Будет использован новый класс CReBar.
class CMainFrame : public CFrameWnd
{
......
protected: // control bar embedded members
CStatusBar m_wndStatusBar;
CToolBar m_wndToolBar;
CReBar m_wndReBar; // New
CDialogBar m_wndDlgBar;
Давайте посмотрим, что в функции OnCreate и как создается ReBar:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
......
if (!m_wndReBar.Create(this) ||
!m_wndReBar.AddBar(&m_wndToolBar) ||
!m_wndReBar.AddBar(&m_wndDlgBar))
{
TRACE0("Failed to create rebar\n");
return -1; // fail to create
}
......
}
Как видите алгоритм такой:
- Создать ToolBar или DialogBar.
- Добавить в ReBar созданные ToolBar или DialogBar.
Сама функция AddBar естественно дает больше возможностей. Давайте посмотрим ее описание.
BOOL AddBar
( CWnd* pBar, LPCTSTR lpszText = NULL, CBitmap* pbmp = NULL,
DWORD dwStyle = RBBS_GRIPPERALWAYS | RBBS_FIXEDBMP );
BOOL AddBar
( CWnd* pBar, COLORREF clrFore, COLORREF clrBack, LPCTSTR pszText = NULL,
DWORD dwStyle = RBBS_GRIPPERALWAYS );
Естественно этот код Вы можете добавить и в ручную для модернизации Вашего проекта. Объектом ReBar можно управлять. Вот так например. Из класса и из контрола.
m_wndReBar.GetReBarCtrl(). свойства
m_wndReBar. свойства