Давайте посмотрим на код, который будет создан. Будет использован новый класс 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 } ...... }
Как видите алгоритм такой:
Сама функция 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. свойства