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);

参照

概念

コントロール (MFC)

参照

CReBarCtrl の使い方