Rebar コントロールとバンド
更新 : 2007 年 11 月
Rebar コントロールの主な用途は、子ウィンドウ、コモン ダイアログ コントロール、メニュー、ツール バーなどのコンテナです。これらを含む手段として、"バンド" という概念が使用されます。Rebar バンドごとに、グリップ バー、ビットマップ、テキスト ラベル、および子ウィンドウの組み合わせを任意に変えることができます。
CReBarCtrl クラスには、数多くのメンバ関数があり、それらを使用して特定の Rebar バンドに関する情報を取得したり、操作したりできます。
GetBandCount Rebar コントロール内の現在のバンド数を取得します。
GetBandInfo 指定したバンドからの情報で REBARBANDINFO 構造体を初期化します。この関数に対応するメンバ関数は SetBandInfo です。
GetRect 指定したバンドの外接する四角形を取得します。
GetRowCount Rebar コントロール内のバンドの行数を取得します。
IDToIndex 指定したバンドのインデックスを取得します。
GetBandBorders バンドの境界線を取得します。
このほか、特定の Rebar バンドを操作するためのメンバ関数があります。
InsertBand は Rebar バンドを追加し、DeleteBand は Rebar バンドを削除します。MinimizeBand および MaximizeBand は、特定の Rebar バンドの現在のサイズを変更します。MoveBand は、特定の Rebar バンドのインデックスを変更します。ShowBand は、ユーザーに対する Rebar バンドの表示/非表示を切り替えます。
既存の Rebar コントロール (m_wndReBar) にツール バー バンド (m_wndToolBar) を追加するコード例は、次のようになります。バンドを作成するには、rbi 構造体を初期化し、次に InsertBand メンバ関数を呼び出します。
//load bitmap for toolbar background
m_RebarBitmap.LoadBitmap(IDB_BITMAP1);
//create a toolbar band
m_Toolbar1.Create(this, TBSTYLE_TRANSPARENT | TBSTYLE_FLAT);
m_Toolbar1.LoadToolBar(IDR_MAINFRAME);
REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO);
rbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD | RBBIM_CHILDSIZE |
RBBIM_STYLE | RBBIM_TEXT;
rbi.fStyle = RBBS_GRIPPERALWAYS;
rbi.cxMinChild = 300;
rbi.cyMinChild = 50;
rbi.lpText = _T("Band #1");
rbi.cch = 7;
rbi.cx = 300;
rbi.hbmBack = (HBITMAP)m_RebarBitmap;
rbi.hwndChild = (HWND)m_Toolbar1;
m_Rebar.GetReBarCtrl().InsertBand(0, &rbi);