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 控制項支援:
影像清單。
訊息處理。
自定義繪製功能。
除了標準窗口樣式之外,還有各種控件樣式。 如需這些樣式的清單,請參閱 Windows SDK 中的 Rebar 控件樣式 。
如需詳細資訊,請參閱 使用 CReBarCtrl。
繼承階層架構
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 控件:
呼叫 CReBarCtrl 以建構
CReBarCtrl
物件。呼叫這個成員函式,這個函式會建立 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)
並將成員設定cbSize
fMask
為您想要擷取的專案,再傳送此訊息。
傳回值
如果成功則不為零,否則為 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
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 結構的指標,定義要插入的頻帶。 您必須先將此結構的成員設定 cbSize
為 sizeof(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
結構。