CReBar とCReBarCtrl の比較
MFC には、Rebar を作成するためのクラスが 2 つ用意されています。CReBar と (Windows コモン コントロール API をラップする) CReBarCtrl です。 CReBar は、Rebar コモン コントロールの機能をすべて備えており、その必要な設定と構造の多くを開発者に代わって処理します。
CReBarCtrl は Win32 Rebar コントロールのラッパー クラスであるため、MFC アーキテクチャに Rebar を統合するつもりでなければ、実装は容易です。 CReBarCtrl を使用し、なおかつ MFC アーキテクチャに Rebar を統合することを検討している場合は、Rebar コントロールの操作を MFC に伝達するために、特別な注意が必要となります。 この通信は難しくはありませんが、CReBar を使用する場合には不要な作業が別途必要になります。
Visual C++ には、Rebar コモン コントロールに関して 2 とおりの活用方法が用意されています。
CReBarを使用して Rebar を作成し、CReBar::GetReBarCtrl を呼び出してCReBarCtrlのメンバー関数にアクセスする。Note
CReBar::GetReBarCtrlは、Rebar オブジェクトのthisポインターをキャストするインライン メンバー関数です。 つまり実行時に、関数呼び出しに伴うオーバーヘッドはありません。CReBarCtrl のコンストラクターを使用して Rebar を作成する。
どちらの方法でも、Rebar コントロールのメンバー関数にアクセスできます。 CReBar::GetReBarCtrl を呼び出したときは、CReBarCtrl オブジェクトの参照が返されるので、両方のメンバー関数一式を使用できます。 CReBar による Rebar のコンストラクトと作成については、CReBar に関するページを参照してください。