对 Rebar 控件使用图像列表

每个rebar 带可以包含在其他事中的从关联的图像列表里的图像。 以下过程详细描述在rebar带显示图像的必要步骤。

在rebar带中显示图像

  1. 附加图像列表到 rebar 控件,通过调用 SetImageList,将指针传递给现有图像列表。

  2. 修改 REBARBANDINFO 结构以分配图像到 rebar 带:

    • 按位设置 fMask 成员设置为 RBBIM_IMAGE,使用按位 OR 运算符以包含需要的标志。

    • iImage 成员设置为要显示图像的图像列表索引。

  3. 初始化其余的数据成员,如大小,文本和包含子窗口的句柄,使用必要的信息。

  4. 插入新的带区 (使用图像),调用CReBarCtrl::InsertBand,将传递REBARBANDINFO 结构。

下面的示例假定两个图像的现有图像列表对象附加到 rebar 控件对象 (m_wndReBar)。 新的rebar带 (定义带 rbi),其中包含第一个图像,添加一个对InsertBand的调用:

REBARBANDINFO rbi = {0};
rbi.cbSize = sizeof(REBARBANDINFO);
rbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD | RBBIM_IMAGE | 
   RBBIM_CHILDSIZE | RBBIM_STYLE | RBBIM_TEXT;
rbi.fStyle = RBBS_GRIPPERALWAYS;
rbi.cxMinChild = 200;
rbi.cyMinChild = 50;
rbi.lpText = _T("Band #2");
rbi.cch = 7;
rbi.cx = 300;
rbi.hbmBack = (HBITMAP)m_RebarBitmap;
rbi.iImage = 0;
rbi.hwndChild = (HWND)m_Toolbar2;
m_Rebar.GetReBarCtrl().InsertBand(1, &rbi); 

请参见

参考

使用 CReBarCtrl

概念

控件 (MFC)