分享方式:


CReBarCtrl 類別

封裝 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 以程序設計方式推送形箭號。
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 控制件可以在指定的背景點陣圖上顯示子視窗。 除了使用RBBS_FIXEDSIZE樣式之外,所有 Rebar 控件區都可以重設大小。 當您重新置放或調整 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 控制件的控制項識別碼。

傳回值

如果成功建立物件,則為非零;否則為 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
控制件的子視窗識別碼。

傳回值

如果成功則為非零;否則為 0。

備註

使用 CreateEx 而不是 Create 來套用延伸的 Windows 樣式,由 Windows 擴充樣式前文WS_EX_所指定。

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
要擷取框線之帶的以零起始的索引。

中華人民共和國
將接收帶狀框線之 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 結構的指標,用來接收頻帶資訊。 您必須將此結構的成員設定為 ,sizeof(REBARBANDINFO)並將成員設定cbSizefMask為您想要擷取的專案,再傳送此訊息。

傳回值

如果成功則不為零,否則為 0。

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) ,才能傳送此訊息。

傳回值

如果成功則不為零,否則為 0。

CReBarCtrl::GetBkColor

實作 Win32 訊息 RB_GETBKCOLOR的行為,如 Windows SDK 中所述。

COLORREF GetBkColor() const;

傳回值

代表目前預設背景色彩的 COLORREF 值。

CReBarCtrl::GetColorScheme

擷取 Rebar 控制件的 COLORSCHEME 結構。

BOOL GetColorScheme(COLORSCHEME* lpcs);

參數

lpcs
COLORSCHEME 結構的指標,如 Windows SDK 中所述。

傳回值

如果成功則不為零,否則為 0。

備註

結構 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 參數。

備註

這個方法會 傳送 windows SDK 中所述的RB_GETEXTENDEDSTYLE 訊息。

CReBarCtrl::GetImageList

取得與 CImageList Rebar 控件相關聯的 物件。

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 控件中以零起始的帶狀索引。

中華人民共和國
RECT 結構的指標,將接收 Rebar 帶的界限。

傳回值

如果成功則不為零,否則為 0。

範例

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 REBARBANDINFO 結構的成員

傳回值

如果成功,則為以零起始的頻帶索引,否則為 -1。 如果存在重複的帶狀索引,則會傳回第一個索引。

CReBarCtrl::InsertBand

實作 Win32 訊息 RB_INSERTBAND的行為,如 Windows SDK 中所述。

BOOL InsertBand(
    UINT uIndex,
    REBARBANDINFO* prbbi);

參數

uIndex
要插入帶的位置以零起始的索引。 如果您將此參數設定為 -1,控制件會在最後一個位置新增新的頻帶。

prbbi
REBARBANDINFO 結構的指標,定義要插入的頻帶。 您必須先將此結構的 cbSize 成員設定sizeof(REBARBANDINFO) ,才能呼叫此函式。

傳回值

如果成功則不為零,否則為 0。

範例

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
要最大化之帶的以零起始的索引。

備註

實作 Win32 訊息RB_MAXIMIZEBANDfIdeal的行為,並將 設定為 0,如 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
新帶位置之以零起始的索引。 此參數值絕對不能大於帶數減一。 若要取得頻帶數目,請呼叫 GetBandCount

傳回值

如果成功則不為零,否則為 0。

CReBarCtrl::P ushChevron

實作 Win32 訊息 RB_PUSHCHEVRON的行為,如 Windows SDK 中所述。

void PushChevron(
    UINT uBand,
    LPARAM lAppValue);

參數

uBand
以零起始的波段索引,其形箭號要推送。

lAppValue
應用程式已定義32位值。 請參閱 Windows SDK RB_PUSHCHEVRON中的 lAppValue

CReBarCtrl::RestoreBand

將 Rebar 控件中的帶大小調整為其理想大小。

void RestoreBand(UINT uBand);

參數

uBand
要最大化之帶的以零起始的索引。

備註

實作 Win32 訊息的行為,RB_MAXIMIZEBANDfIdeal設定為 1,如 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 結構的指標,定義要插入的頻帶。 您必須先將此結構的成員設定 cbSizesizeof(REBARBANDINFO) ,才能傳送此訊息。

傳回值

如果成功則不為零,否則為 0。

範例

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。

備註

這個方法會傳送 windows SDK 中所述的RB_SETBANDWIDTH 訊息。

範例

第一個程式代碼範例會定義用來存取目前 Rebar 控制件的 變數 m_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)

傳回值

如果成功則不為零,否則為 0。

範例

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]旗標的位元組合 (OR) 指定 dwStyleEx 參數中套用的旗標。 使用下列一或多個值:

  • RBS_EX_SPLITTER:根據預設,以水準模式顯示底部的分隔器,並在垂直模式中向右顯示分割器。
  • RBS_EX_TRANSPARENT:將 WM_ERASEBKGND 訊息轉送至父視窗。

dwStyleEx
[in]指定要套用之樣式的位元組合 (OR) 旗標。 若要設定樣式,請指定 dwMask 參數中使用的相同旗標。 若要重設樣式,請指定二進位零。

傳回值

先前的擴充樣式。

備註

這個方法會 傳送 windows SDK 中所述的 RB_SETEXTENDEDSTYLE訊息。

CReBarCtrl::SetImageList

將影像清單指派給 Rebar 控制項。

BOOL SetImageList(CImageList* pImageList);

參數

pImageList
CImageList 物件的指標,其中包含要指派給 Rebar 控件的影像清單。

傳回值

如果成功則不為零,否則為 0。

CReBarCtrl::SetOwner

實作 Win32 訊息 RB_SETPARENT的行為,如 Windows SDK 中所述。

CWnd* SetOwner(CWnd* pWnd);

參數

pWnd
要設定為 Rebar 控件擁有者的 物件指標 CWnd

傳回值

CWnd 物件的指標,該物件是 Rebar 控件的目前擁有者。

備註

請注意,此成員函式會針對 Rebar 控件的目前和選取擁有者使用物件的指標 CWnd ,而不是視窗的句柄。

注意

此成員函式不會變更建立控件時設定的實際父系;相反地,它會將通知訊息傳送至您指定的視窗。

CReBarCtrl::SetPalette

實作 Win32 訊息 RB_SETPALETTE的行為,如 Windows SDK 中所述。

CPalette* SetPalette(HPALETTE hPal);

參數

hPal
HPALETTE,指定 Rebar 控制項將使用的新調色盤。

傳回值

指定 Rebar 控制件上一個 調色盤之 CPalette 物件的指標。

備註

請注意,這個成員函式會使用 CPalette 物件做為其傳回值,而不是 HPALETTE。

CReBarCtrl::SetTextColor

實作 Win32 訊息 RB_SETTEXTCOLOR的行為,如 Windows SDK 中所述。

COLORREF SetTextColor(COLORREF clr);

參數

/clr
COLORREF 值,表示 物件中的 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,則會顯示帶狀。 否則,將會隱藏頻帶。

傳回值

如果成功則不為零,否則為 0。

CReBarCtrl::SizeToRect

實作 Win32 訊息 RB_SIZETORECT的行為,如 Windows SDK 中所述。

BOOL SizeToRect(CRect& rect);

參數

rect
CRect 對象的參考,指定 Rebar 控制項應該重設大小的矩形。

傳回值

如果成功則不為零,否則為 0。

備註

請注意,這個成員函式會使用 CRect 物件做為參數,而不是 RECT 結構。

另請參閱

CWnd 類別
階層架構圖表