将图像列表与 Rebar 控件配合使用

每个 rebar 带可以包含关联图像列表中的图像,等等。 以下过程详细介绍了在 rebar 带中显示图像的必要步骤。

在 rebar 带中显示图像

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

  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
控件