CReBarCtrl 类

注意

Microsoft基础类(MFC)库将继续受到支持。 但是,我们不再添加功能或更新文档。

封装 Rebar 控件的功能,此控件是一个子窗口容器。

语法

class CReBarCtrl : public CWnd

成员

公共构造函数

名称 描述
CReBarCtrl::CReBarCtrl 构造 CReBarCtrl 对象。

公共方法

名称 描述
CReBarCtrl::BeginDrag 将 rebar 控件置于拖放模式。
CReBarCtrl::Create 创建 rebar 控件并将其附加到 CReBarCtrl 对象。
CReBarCtrl::CreateEx 创建具有指定 Windows 扩展样式的 rebar 控件,并将其附加到 CReBarCtrl 对象。
CReBarCtrl::D eleteBand 从 rebar 控件中删除带。
CReBarCtrl::D ragMove 调用 BeginDrag 后更新 rebar 控件中的拖动位置。
CReBarCtrl::EndDrag 终止 rebar 控件的拖放操作。
CReBarCtrl::GetBandBorders 检索带的边框。
CReBarCtrl::GetBandCount 检索 rebar 控件中当前带数。
CReBarCtrl::GetBandInfo 检索有关 rebar 控件中指定带的信息。
CReBarCtrl::GetBandMargins 检索带的边距。
CReBarCtrl::GetBarHeight 检索 rebar 控件的高度。
CReBarCtrl::GetBarInfo 检索有关 rebar 控件及其使用的图像列表的信息。
CReBarCtrl::GetBkColor 检索 rebar 控件的默认背景色。
CReBarCtrl::GetColorScheme 检索与 rebar 控件关联的 COLORSCHEME 结构。
CReBarCtrl::GetDropTarget 检索 rebar 控件的 IDropTarget 接口指针。
CReBarCtrl::GetExtendedStyle 获取当前 rebar 控件的扩展样式。
CReBarCtrl::GetImageList 检索与 rebar 控件关联的图像列表。
CReBarCtrl::GetPalette 检索 rebar 控件的当前调色板。
CReBarCtrl::GetRect 检索 rebar 控件中给定带的边框。
CReBarCtrl::GetRowCount 检索 rebar 控件中的带行数。
CReBarCtrl::GetRowHeight 检索 rebar 控件中指定行的高度。
CReBarCtrl::GetTextColor 检索 rebar 控件的默认文本颜色。
CReBarCtrl::GetToolTips 检索与 rebar 控件关联的任何工具提示控件的句柄。
CReBarCtrl::HitTest 确定 rebar 带的哪一部分位于屏幕上的给定点(如果 rebar 带存在于该点)。
CReBarCtrl::IDToIndex 将带标识符 (ID) 转换为 rebar 控件中的带索引。
CReBarCtrl::InsertBand 在 rebar 控件中插入新带。
CReBarCtrl::MaximizeBand 将 rebar 控件中的带的大小调整为其最大大小。
CReBarCtrl::MinimizeBand 将 rebar 控件中的带的大小调整为其最小大小。
CReBarCtrl::MoveBand 将带从一个索引移动到另一个索引。
CReBarCtrl::P ushChevron 以编程方式推送 V 形。
CReBarCtrl::RestoreBand 将 rebar 控件中的带的大小调整为其理想大小。
CReBarCtrl::SetBandInfo 设置 rebar 控件中现有带的特征。
CReBarCtrl::SetBandWidth 设置当前 rebar 控件中指定停靠带的宽度。
CReBarCtrl::SetBarInfo 设置 rebar 控件的特征。
CReBarCtrl::SetBkColor 设置 rebar 控件的默认背景色。
CReBarCtrl::SetColorScheme 设置 rebar 控件上按钮的配色方案。
CReBarCtrl::SetExtendedStyle 设置当前 rebar 控件的扩展样式。
CReBarCtrl::SetImageList 设置 rebar 控件的图像列表。
CReBarCtrl::SetOwner 设置 rebar 控件的所有者窗口。
CReBarCtrl::SetPalette 设置 rebar 控件的当前调色板。
CReBarCtrl::SetTextColor 设置 rebar 控件的默认文本颜色。
CReBarCtrl::SetToolTips 将工具提示控件与 rebar 控件关联。
CReBarCtrl::SetWindowTheme 设置 rebar 控件的视觉样式。
CReBarCtrl::ShowBand 显示或隐藏 rebar 控件中的给定带。
CReBarCtrl::SizeToRect 将 rebar 控件拟合到指定的矩形。

注解

rebar 控件所在的应用程序将 rebar 控件包含的子窗口分配给 rebar 带。 子窗口通常是另一个常见控件。

rebar 控件包含一个或多个带。 每个带可以包含手柄栏、位图、文本标签和子窗口的组合。 带只能包含其中一个此类项。

rebar 控件可以在指定的背景位图上显示子窗口。 可以调整所有 rebar 控件带的大小,但使用 RBBS_FIXEDSIZE 样式的带除外。 重新定位 rebar 控件带或调整其大小时,rebar 控件将管理分配给该带的子窗口的大小和位置。 若要调整控件中带的大小或更改其顺序,请单击并拖动带的手柄栏。

下图显示了具有三个带的 rebar 控件:

  • 带 0 包含平面透明工具栏控件。

  • 带 1 包含透明标准和透明下拉列表按钮。

  • 带 2 包含组合框和四个标准按钮。

    Rebar 菜单的示例。

Rebar 控件

Rebar 控件支持:

  • 图像列表。

  • 消息处理。

  • 自定义绘制功能。

  • 除了标准窗口样式外,还有各种控件样式。 有关这些样式的列表,请参阅 Windows SDK 中的 Rebar 控件样式。

有关详细信息,请参阅使用 CReBarCtrl。

继承层次结构

CObject

CCmdTarget

CWnd

CReBarCtrl

要求

标头: afxcmn.h

CReBarCtrl::BeginDrag

实现 Win32 消息 RB_BEGINDRAG 的行为,如 Windows SDK 中所述。

void BeginDrag(
    UINT uBand,
    DWORD dwPos = (DWORD)-1);

参数

uBand
拖放操作会影响的带的从零开始的索引。

dwPos
包含起始鼠标坐标的 DWORD 值。 水平坐标包含在 LOWORD 中,垂直坐标包含在 HIWORD 中。 如果传递 (DWORD)-1,则 rebar 控件将在上次调用控件的线程(名为 GetMessage 或 PeekMessage)时使用鼠标的位置。

CReBarCtrl::Create

创建 rebar 控件并将其附加到 CReBarCtrl 对象。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

参数

dwStyle
指定应用于控件的 rebar 控件样式的组合。 有关支持的样式的列表,请参阅 Windows SDK 中的 Rebar 控件样式。

rect
对 CRect 对象或 RECT 结构的引用,它是 rebar 控件的位置和大小。

pParentWnd
指向 CWnd 对象(rebar 控件的父窗口)的指针。 不得为 NULL。

nID
指定 rebar 控件的控件 ID。

返回值

如果成功创建对象,则为非零;否则为 0。

注解

分两步创建 rebar 控件:

  1. 调用 CReBarCtrl 以构造 CReBarCtrl 对象。

  2. 调用此成员函数,以创建 Windows rebar 控件并将其附加到 CReBarCtrl 对象。

调用 Create 时,会初始化公用控件。

示例

CReBarCtrl *pReBarCtrl = new CReBarCtrl();
CRect rect;
GetWindowRect(rect);
pReBarCtrl->Create(RBS_BANDBORDERS, rect, this, AFX_IDW_REBAR);

// Use ReBar Control.

delete pReBarCtrl;

CReBarCtrl::CreateEx

创建一个控件(子窗口)并将其与 CReBarCtrl 对象相关联。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

参数

dwExStyle
指定要创建的控件的扩展样式。 有关扩展 Windows 样式的列表,请参阅 Windows SDK 中 CreateWindowEx 的 dwExStyle 参数。

dwStyle
指定应用于控件的 rebar 控件样式的组合。 有关支持的样式的列表,请参阅 Windows SDK 中的 Rebar 控件样式。

rect
对 RECT 结构的引用,该结构描述了要在客户端坐标 pParentWnd 中创建的窗口的大小和位置。

pParentWnd
指向作为控件父级的窗口的指针。

nID
控件的子窗口 ID。

返回值

如果成功,则不为 0;否则为 0。

注解

使用 CreateEx 而不是 Create 来应用由 Windows 扩展样式前言 WS_EX_ 指定的扩展 Windows 样式。

CReBarCtrl::CReBarCtrl

创建一个 CReBarCtrl 对象。

CReBarCtrl();

示例

请参阅 CReBarCtrl::Create 的示例。

CReBarCtrl::D eleteBand

实现 Win32 消息 RB_DELETEBAND 的行为,如 Windows SDK 中所述。

BOOL DeleteBand(UINT uBand);

参数

uBand
要删除的带的从零开始的索引。

返回值

如果成功删除带,则为非零;否则为零。

示例

UINT nCount = m_wndReBar.GetReBarCtrl().GetBandCount();

if (nCount > 0)
   m_wndReBar.GetReBarCtrl().DeleteBand(nCount - 1);

CReBarCtrl::D ragMove

实现 Win32 消息 RB_DRAGMOVE 的行为,如 Windows SDK 中所述。

void DragMove(DWORD dwPos = (DWORD)-1);

参数

dwPos
包含新鼠标坐标的 DWORD 值。 水平坐标包含在 LOWORD 中,垂直坐标包含在 HIWORD 中。 如果传递 (DWORD)-1,则 rebar 控件将在上次调用控件的线程(名为 GetMessage 或 PeekMessage)时使用鼠标的位置。

CReBarCtrl::EndDrag

实现 Win32 消息 RB_ENDDRAG 的行为,如 Windows SDK 中所述。

void EndDrag();

CReBarCtrl::GetBandBorders

实现 Win32 消息 RB_GETBANDBORDERS 的行为,如 Windows SDK 中所述。

void GetBandBorders(
    UINT uBand,
    LPRECT prc) const;

参数

uBand
要为其检索边框的带的从零开始的索引。

prc
指向将接收带边框的 RECT 结构的指针。 如果 rebar 控件具有 RBS_BANDBORDERS 样式,则此结构的每个成员将接收带的相应边上构成边框的像素数。 如果 rebar 控件没有 RBS_BANDBORDERS 样式,则只有此结构的左侧成员接收有效信息。 有关 rebar 控件样式的说明,请参阅 Windows SDK 中的 Rebar 控件样式。

CReBarCtrl::GetBandCount

实现 Win32 消息 RB_GETBANDCOUNT 的行为,如 Windows SDK 中所述。

UINT GetBandCount() const;

返回值

分配给控件的带数。

CReBarCtrl::GetBandInfo

实现 Win32 消息 RB_GETBANDINFO 的行为,如 Windows SDK 中所述。

BOOL GetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi) const;

参数

uBand
要为其检索信息的带的从零开始的索引。

prbbi
指向 REBARBANDINFO 结构的指针以接收带信息。 必须将此结构的 cbSize 成员设置为 sizeof(REBARBANDINFO),并将 fMask 成员设置为要在发送此消息之前检索的项。

返回值

如果成功,则不为零,否则为零。

CReBarCtrl::GetBandMargins

检索带的边距。

void GetBandMargins(PMARGINS pMargins);

参数

pMargins
指向将接收信息的 MARGINS 结构的指针。

注解

此成员函数模拟 RB_GETBANDMARGINS 消息的功能,如 Windows SDK 中所述。

CReBarCtrl::GetBarHeight

检索 rebar 栏的高度。

UINT GetBarHeight() const;

返回值

表示控件的高度(以像素为单位)的值。

CReBarCtrl::GetBarInfo

实现 Win32 消息 RB_GETBARINFO 的行为,如 Windows SDK 中所述。

BOOL GetBarInfo(REBARINFO* prbi) const;

参数

prbi
指向将接收 rebar 控件信息的 REBARINFO 结构的指针。 在发送此消息之前,必须将此结构的 cbSize 成员设置为 sizeof(REBARINFO)。

返回值

如果成功,则不为零,否则为零。

CReBarCtrl::GetBkColor

实现 Win32 消息 RB_GETBKCOLOR 的行为,如 Windows SDK 中所述。

COLORREF GetBkColor() const;

返回值

表示当前默认背景色的 COLORREF 值。

CReBarCtrl::GetColorScheme

检索 rebar 控件的 COLORSCHEME 结构。

BOOL GetColorScheme(COLORSCHEME* lpcs);

参数

lpcs
指向 COLORSCHEME 结构的指针,如 Windows SDK 中所述。

返回值

如果成功,则不为零,否则为零。

注解

结构 COLORSCHEME 包括按钮突出显示颜色和按钮阴影颜色。

CReBarCtrl::GetDropTarget

实现 Win32 消息 RB_GETDROPTARGET 的行为,如 Windows SDK 中所述。

IDropTarget* GetDropTarget() const;

返回值

指向 IDropTarget 接口的指针。

CReBarCtrl::GetExtendedStyle

获取当前 rebar 控件的扩展样式。

DWORD GetExtendedStyle() const;

返回值

指示扩展样式的标志的按位组合 (OR)。 可能的标志是 RBS_EX_SPLITTER 和 RBS_EX_TRANSPARENT。 有关详细信息,请参阅 CReBarCtrl::SetExtendedStyle 方法的 dwMask 参数。

注解

此方法将发送 RB_GETEXTENDEDSTYLE 消息,如 Windows SDK 中所述。

CReBarCtrl::GetImageList

获取与 rebar 控件关联的 CImageList 对象。

CImageList* GetImageList() const;

返回值

指向 CImageList 对象的指针。 如果未为控件设置图像列表,则返回 NULL。

注解

此成员函数使用 REBARINFO 结构中存储的大小和掩码信息,如 Windows SDK 中所述。

CReBarCtrl::GetPalette

检索 rebar 控件的当前调色板。

CPalette* GetPalette() const;

返回值

指向指定 rebar 控件的当前调色板的 CPalette 对象的指针。

注解

请注意,此成员函数使用 CPalette 对象作为其返回值,而不是 HPALETTE。

示例

CPalette *pPalette = m_wndReBar.GetReBarCtrl().GetPalette();
if (pPalette)
{
   int nEntries = pPalette->GetEntryCount();
   CString msg;
   msg.Format(_T("Number of palette entries: %d"), nEntries);
   AfxMessageBox(msg);
}
else
{
   AfxMessageBox(_T("No palette!"));
}

CReBarCtrl::GetRect

实现 Win32 消息 RB_GETRECT 的行为,如 Windows SDK 中所述。

BOOL GetRect(
    UINT uBand,
    LPRECT prc) const;

参数

uBand
rebar 控件中带的从零开始的索引。

prc
指向将接收 rebar 带的边界的 RECT 结构的指针。

返回值

如果成功,则不为零,否则为零。

示例

CRect rc;
m_wndReBar.GetReBarCtrl().GetRect(0, &rc);
CString msg;
msg.Format(_T("rect.left = %d, rect.top = %d, ")
           _T("rect.right = %d, rect.bottom = %d"),
           rc.left,
           rc.top, rc.right, rc.bottom);
AfxMessageBox(msg);

CReBarCtrl::GetRowCount

实现 Win32 消息 RB_GETROWCOUNT 的行为,如 Windows SDK 中所述。

UINT GetRowCount() const;

返回值

表示控件中的带行数的 UINT 值。

示例

UINT nRowCount = m_wndReBar.GetReBarCtrl().GetRowCount();
CString msg;
msg.Format(_T("Row Count is %d"), nRowCount);
AfxMessageBox(msg);

CReBarCtrl::GetRowHeight

实现 Win32 消息 RB_GETROWHEIGHT 的行为,如 Windows SDK 中所述。

UINT GetRowHeight(UINT uRow) const;

参数

uRow
要检索其高度的带的从零开始的索引。

返回值

表示行高(以像素为单位)的 UINT 值。

示例

int nCount = m_wndReBar.GetReBarCtrl().GetRowCount();
for (int i = 0; i < nCount; i++)
{
   UINT nHeight = m_wndReBar.GetReBarCtrl().GetRowHeight(i);
   CString msg;
   msg.Format(_T("Height of row %d is %u"), i, nHeight);
   AfxMessageBox(msg);
}

CReBarCtrl::GetTextColor

实现 Win32 消息 RB_GETTEXTCOLOR 的行为,如 Windows SDK 中所述。

COLORREF GetTextColor() const;

返回值

表示当前默认文本颜色的 COLORREF 值。

CReBarCtrl::GetToolTips

实现 Win32 消息 RB_GETTOOLTIPS 的行为,如 Windows SDK 中所述。

CToolTipCtrl* GetToolTips() const;

返回值

指向 CToolTipCtrl 对象的指针。

注解

请注意,GetToolTips 的 MFC 实现返回指向 CToolTipCtrl 的指针,而不是 HWND。

CReBarCtrl::HitTest

实现 Win32 消息 RB_HITTEST 的行为,如 Windows SDK 中所述。

int HitTest(RBHITTESTINFO* prbht);

参数

prbht
指向 RBHITTESTINFO 结构的指针。 在发送消息之前,此结构的 pt 成员必须初始化为要测试的点(以客户端坐标为单位)。

返回值

给定点处的带的从零开始的索引,如果没有 rebar 带位于该点,则为 -1。

CReBarCtrl::IDToIndex

实现 Win32 消息 RB_IDTOINDEX 的行为,如 Windows SDK 中所述。

int IDToIndex(UINT uBandID) const;

参数

uBandID
指定带的应用程序定义的标识符,在插入带时传入 wID 结构的 成员。

返回值

如果成功,则为从零开始的带索引,否则为 -1。 如果存在重复的带索引,则返回第一个索引。

CReBarCtrl::InsertBand

实现 Win32 消息 RB_INSERTBAND 的行为,如 Windows SDK 中所述。

BOOL InsertBand(
    UINT uIndex,
    REBARBANDINFO* prbbi);

参数

uIndex
将插入带的位置的从零开始的索引。 如果将此参数设置为 -1,控件将在最后一个位置添加新带。

prbbi
指向将定义要插入的带的 REBARBANDINFO 结构的指针。 在调用此函数之前,必须将此结构的 cbSize 成员设置为 sizeof(REBARBANDINFO)。

返回值

如果成功,则不为零,否则为零。

示例

REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);

TCHAR szText[80];
rbbi.lpText = szText;
rbbi.cch = sizeof(szText) / sizeof(szText[0]);

rbbi.fMask = RBBIM_BACKGROUND | RBBIM_CHILD |
             RBBIM_CHILDSIZE | RBBIM_COLORS | RBBIM_HEADERSIZE |
             RBBIM_IDEALSIZE | RBBIM_ID | RBBIM_IMAGE |
             RBBIM_LPARAM | RBBIM_SIZE | RBBIM_STYLE | RBBIM_TEXT;

m_wndReBar.GetReBarCtrl().GetBandInfo(0, &rbbi);

m_wndReBar.GetReBarCtrl().InsertBand(1, &rbbi);

CReBarCtrl::MaximizeBand

将 rebar 控件中的带的大小调整为其最大大小。

void MaximizeBand(UINT uBand);

参数

uBand
要最大化的带的从零开始的索引。

注解

通过将 设置为 0 来实现 Win32 消息 fIdeal 的行为,如 Windows SDK 中所述。

示例

CReBarCtrl& refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.MaximizeBand(i);   

CReBarCtrl::MinimizeBand

将 rebar 控件中的带的大小调整为其最小大小。

void MinimizeBand(UINT uBand);

参数

uBand
要最小化的带的从零开始的索引。

注解

实现 Win32 消息 RB_MINIMIZEBAND 的行为,如 Windows SDK 中所述。

示例

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.MinimizeBand(i);

CReBarCtrl::MoveBand

实现 Win32 消息 RB_MOVEBAND 的行为,如 Windows SDK 中所述。

BOOL MoveBand(
    UINT uFrom,
    UINT uTo);

参数

uFrom
要移动的带的从零开始的索引。

uTo
新带位置的从零开始的索引。 此参数值绝不能大于带数减 1。 若要获取带数,请调用 GetBandCount。

返回值

如果成功,则不为零,否则为零。

CReBarCtrl::P ushChevron

实现 Win32 消息 RB_PUSHCHEVRON 的行为,如 Windows SDK 中所述。

void PushChevron(
    UINT uBand,
    LPARAM lAppValue);

参数

uBand
要推送其 V 形的带的从零开始的索引。

lAppValue
应用程序定义了 32 位值。 请参阅 Windows SDK 中的 RB_PUSHCHEVRON 的 lAppValue。

CReBarCtrl::RestoreBand

将 rebar 控件中的带的大小调整为其理想大小。

void RestoreBand(UINT uBand);

参数

uBand
要最大化的带的从零开始的索引。

注解

通过将 设置为 1 来实现 Win32 消息 fIdeal 的行为,如 Windows SDK 中所述。

示例

CReBarCtrl &refReBarCtrl = m_wndReBar.GetReBarCtrl();
UINT nCount = refReBarCtrl.GetBandCount();

for (UINT i = 0; i < nCount; i++)
   refReBarCtrl.RestoreBand(i);

CReBarCtrl::SetBandInfo

实现 Win32 消息 RB_SETBANDINFO 的行为,如 Windows SDK 中所述。

BOOL SetBandInfo(
    UINT uBand,
    REBARBANDINFO* prbbi);

参数

uBand
要接收新设置的带的从零开始的索引。

prbbi
指向将定义要插入的带的 REBARBANDINFO 结构的指针。 在发送此消息之前,必须将此结构的 cbSize 成员设置为 sizeof(REBARBANDINFO)。

返回值

如果成功,则不为零,否则为零。

示例

int nCount = m_wndReBar.GetReBarCtrl().GetBandCount();
CString strText;
REBARBANDINFO rbbi = {0};
rbbi.cbSize = sizeof(rbbi);
for (int i = 0; i < nCount; i++)
{
   strText.Format(_T("Band #: %d"), i);
   rbbi.lpText = strText.GetBuffer();
   rbbi.cch = strText.GetLength() + 1;
   rbbi.fMask = RBBIM_TEXT;

   m_wndReBar.GetReBarCtrl().SetBandInfo(i, &rbbi);

   strText.ReleaseBuffer();
}

CReBarCtrl::SetBandWidth

设置当前 rebar 控件中指定停靠带的宽度。

BOOL SetBandWidth(
    UINT uBand,
    int cxWidth);

参数

uBand
[in] rebar 带的从零开始的索引。

cxWidth
[in] rebar 带的新宽度(以像素为单位)。

返回值

如果此方法成功,则为 TRUE;否则为 FALSE。

注解

此方法将发送 RB_SETBANDWIDTH 消息,如 Windows SDK 中所述。

示例

第一个代码示例定义一个变量 m_rebar,用于访问当前 rebar 控件。 此变量将在下一个示例中使用。

public:
CReBarCtrl m_rebar;
BOOL bRet;
static const int TOTAL_BANDS = 5;
static const int BUFFER_SIZE = 10;

下一个代码示例将每个 rebar 带设置为相同的宽度。

// Set the width of each band.
m_rebar.GetClientRect(&rect);
int iWidth = rect.Width() / TOTAL_BANDS;
for (int iIndex = 0; iIndex < TOTAL_BANDS; iIndex++)
   bRet = m_rebar.SetBandWidth(iIndex, iWidth);

CReBarCtrl::SetBarInfo

实现 Win32 消息 RB_SETBARINFO 的行为,如 Windows SDK 中所述。

BOOL SetBarInfo(REBARINFO* prbi);

参数

prbi
指向包含要设置的信息的 REBARINFO 结构的指针。 在发送此消息之前,必须将此结构的 cbSize 成员设置为 sizeof(REBARINFO)

返回值

如果成功,则不为零,否则为零。

示例

REBARINFO rbi = {0};
rbi.cbSize = sizeof(REBARINFO);
rbi.fMask = 0;
rbi.himl = 0;
m_wndReBar.GetReBarCtrl().SetBarInfo(&rbi);

CReBarCtrl::SetBkColor

实现 Win32 消息 RB_SETBKCOLOR 的行为,如 Windows SDK 中所述。

COLORREF SetBkColor(COLORREF clr);

参数

clr
表示新的默认背景色的 COLORREF 值。

返回值

表示上一个默认背景色的 COLORREF 值。

注解

有关何时设置背景色以及如何设置默认值的详细信息,请参阅本主题。

CReBarCtrl::SetColorScheme

设置 rebar 控件上按钮的配色方案。

void SetColorScheme(const COLORSCHEME* lpcs);

参数

lpcs
指向 COLORSCHEME 结构的指针,如 Windows SDK 中所述。

注解

COLORSCHEME 结构包括按钮突出显示颜色和按钮阴影颜色。

CReBarCtrl::SetExtendedStyle

设置当前 rebar 控件的扩展样式。

DWORD SetExtendedStyle(
    DWORD dwMask,
    DWORD dwStyleEx);

参数

dwMask
[in] 指定应用 dwStyleEx 参数中哪些标志的标志的按位组合 (OR)。 使用以下一个或多个值:

  • RBS_EX_SPLITTER:默认情况下,在水平模式下显示底部的拆分器,并在垂直模式下显示右侧的拆分器。
  • RBS_EX_TRANSPARENT:将 WM_ERASEBKGND 消息转发到父窗口。

dwStyleEx
[in] 指定要应用的样式的标志的按位组合 (OR)。 若要设置样式,请指定 dwMask 参数中使用的相同标志。 若要重置样式,请指定二进制零。

返回值

先前的扩展样式。

注解

此方法将发送 RB_SETEXTENDEDSTYLE 消息,如 Windows SDK 中所述。

CReBarCtrl::SetImageList

将图像列表分配给 rebar 控件。

BOOL SetImageList(CImageList* pImageList);

参数

pImageList
指向 CImageList 对象的指针,该对象包含要分配给 rebar 控件的图像列表。

返回值

如果成功,则不为零,否则为零。

CReBarCtrl::SetOwner

实现 Win32 消息 RB_SETPARENT 的行为,如 Windows SDK 中所述。

CWnd* SetOwner(CWnd* pWnd);

参数

pWnd
指向要设置为 rebar 控件的所有者的 CWnd 对象的指针。

返回值

指向作为 rebar 控件的当前所有者的 CWnd 对象的指针。

注解

请注意,此成员函数使用指向 rebar 控件的当前所有者和所选所有者的 CWnd 对象的指针,而不是窗口句柄。

注意

此成员函数不会更改创建控件时设置的实际父级;而是将通知消息发送到指定的窗口。

CReBarCtrl::SetPalette

实现 Win32 消息 RB_SETPALETTE 的行为,如 Windows SDK 中所述。

CPalette* SetPalette(HPALETTE hPal);

参数

hPal
指定 rebar 控件将使用的新调色板的 HPALETTE。

返回值

指向指定 rebar 控件的先前调色板的 CPalette 对象的指针。

注解

请注意,此成员函数使用 CPalette 对象作为其返回值,而不是 HPALETTE。

CReBarCtrl::SetTextColor

实现 Win32 消息 RB_SETTEXTCOLOR 的行为,如 Windows SDK 中所述。

COLORREF SetTextColor(COLORREF clr);

参数

clr
表示 CReBarCtrl 对象中的新文本颜色的 COLORREF 值。

返回值

表示与 对象关联的上一个文本颜色的 CReBarCtrl 值。

注解

提供它来支持 rebar 控件中的文本颜色灵活性。

CReBarCtrl::SetToolTips

将工具提示控件与 rebar 控件关联。

void SetToolTips(CToolTipCtrl* pToolTip);

参数

pToolTip
指向 CToolTipCtrl 对象的指针

注解

完成后必须销毁 CToolTipCtrl 对象。

CReBarCtrl::SetWindowTheme

设置 rebar 控件的视觉样式。

HRESULT SetWindowTheme(LPCWSTR pszSubAppName);

参数

pszSubAppName
指向 Unicode 字符串的指针,该字符串包含要设置的 rebar 视觉样式。

返回值

不使用返回值。

注解

此成员函数模拟消息 RB_SETWINDOWTHEME 的功能,如 Windows SDK 中所述。

CReBarCtrl::ShowBand

实现 Win32 消息 RB_SHOWBAND 的行为,如 Windows SDK 中所述。

BOOL ShowBand(
    UINT uBand,
    BOOL fShow = TRUE);

参数

uBand
rebar 控件中带的从零开始的索引。

fShow
指示应显示还是隐藏带。 如果此值为 TRUE,则将显示带。 否则,将隐藏带。

返回值

如果成功,则不为零,否则为零。

CReBarCtrl::SizeToRect

实现 Win32 消息 RB_SIZETORECT 的行为,如 Windows SDK 中所述。

BOOL SizeToRect(CRect& rect);

参数

rect
对 CRect 对象的引用,该对象指定应将 rebar 控件的大小调整到的矩形。

返回值

如果成功,则不为零,否则为零。

注解

请注意,此成员函数使用 CRect 对象作为参数,而不是 RECT 结构。

另请参阅

CWnd 类
层次结构图