共用方式為


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::GetTool提示 擷取與 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::SetTool提示 將工具提示控制項與 Rebar 控制項產生關聯。
CReBarCtrl::SetWindowTheme 設定 Rebar 控制項的視覺化樣式。
CReBarCtrl::ShowBand 在 Rebar 控制項中顯示或隱藏指定的頻帶。
CReBarCtrl::SizeToRect 將 Rebar 控制項放入指定的矩形。

備註

Rebar 控制項所在的應用程式會將 Rebar 控制項所包含的子視窗指派給 Rebar 範圍。 子視窗通常是另一個通用控制項。

Rebar 控制項包含一或多個頻帶。 每個帶都可以包含移位夾列、點陣圖、文字標籤和子視窗的組合。 頻帶只能包含其中一個專案。

Rebar 控制項可以在指定的背景點陣圖上顯示子視窗。 除了使用RBBS_FIXEDSIZE樣式之外,所有 Rebar 控制項區都可以調整大小。 當您重新置放或調整 Rebar 控制項範圍的大小時,Rebar 控制項會管理指派給該帶的子視窗大小和位置。 若要調整或變更控制項內的帶狀順序,請按一下並拖曳帶的夾板列。

下圖顯示具有三個波段的 Rebar 控制項:

  • 帶 0 包含一般透明工具列控制項。

  • 帶 1 包含透明標準和透明下拉式按鈕。

  • 帶 2 包含下拉式方塊和四個標準按鈕。

    Example of a Rebar menu.

Rebar 控制項

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 控制項將會在上次呼叫 GetMessagePeekMessage 或 的執行緒時使用滑鼠的位置。

CReBarCtrl::Create

建立 Rebar 控制項,並將它附加至 CReBarCtrl 物件。

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

參數

dwStyle
指定套用至控制項的 Rebar 控制項樣式組合。 如需支援的樣式清單,請參閱 Windows SDK 中的 Rebar 控制項樣式

矩形
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 結構的參考 ,描述要建立之視窗的大小和位置,在 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 控制項將會在上次呼叫 GetMessagePeekMessage 或 的執行緒時使用滑鼠的位置。

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;

傳回值

代表目前預設背景色彩的 COLORRE光圈值。

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;

傳回值

代表目前預設文字色彩的 COLORRE光圈值。

CReBarCtrl::GetTool提示

實作 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_MAXIMIZEBAND fIdeal 的行為,並將 設定為 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_MAXIMIZEBAND fIdeal 設定為 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
代表新預設背景色彩的 COLORRE光圈值。

傳回值

代表 先前預設背景色彩的 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
COLORRE光圈值,表示 物件中的 CReBarCtrl 新文字色彩。

傳回值

COLORREF 值,表示與 CReBarCtrl 物件相關聯的上一個文字色彩。

備註

它提供來支援 Rebar 控制項中的文字色彩彈性。

CReBarCtrl::SetTool提示

將工具提示控制項與 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);

參數

矩形
CRect 物件的參考 ,指定 Rebar 控制項應該調整大小的矩形。

傳回值

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

備註

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

另請參閱

CWnd 類別
階層架構圖表