CReBar vs. CReBarCtrl
MFC provides two classes to create rebars: CReBar and CReBarCtrl (which wraps the Windows common control API). CReBar
provides all of the functionality of the rebar common control, and it handles many of the required common control settings and structures for you.
CReBarCtrl
is a wrapper class for the Win32 rebar control, and therefore may be easier to implement if you do not intend to integrate the rebar into the MFC architecture. If you plan to use CReBarCtrl
and integrate the rebar into the MFC architecture, you must take additional care to communicate rebar control manipulations to MFC. This communication is not difficult; however, it is additional work that is unneeded when you use CReBar
.
Visual C++ provides two ways to take advantage of the rebar common control.
Create the rebar using
CReBar
, and then call CReBar::GetReBarCtrl to get access to theCReBarCtrl
member functions.Note
CReBar::GetReBarCtrl
is an inline member function that casts thethis
pointer of the rebar object. This means that, at run time, the function call has no overhead.Create the rebar using CReBarCtrl's constructor.
Either method will give you access to the member functions of the rebar control. When you call CReBar::GetReBarCtrl
, it returns a reference to a CReBarCtrl
object so you can use either set of member functions. See CReBar for information on constructing and creating a rebar using CReBar
.