關於 Rebar 控件
Rebar 控件可作為子視窗的容器。 它可以包含一或多個 帶,而且每個帶都可以有任何組合的移位夾列、位圖、文字捲標和一個子視窗。 應用程式會將子視窗,通常是另一個控件指派給 Rebar 控件範圍。 當您動態重新置放 Rebar 控件帶時,Rebar 控件會管理指派給該帶的子視窗大小和位置。 此外,應用程式可以指定帶的背景點陣圖,而 Rebar 控件將會在點陣圖上顯示帶狀線的子視窗。
下列螢幕快照顯示具有兩個波段的 Rebar 控件。 其中一個包含工具列,另一個包含下拉式方塊。 這兩個樂隊都有一個夾子,允許移動和重設大小。
注意
rebar 控件是在 4.70 版和更新版本的 Comctl32.dll 中實作。
Rebar 頻帶和子視窗
應用程式會使用RB_INSERTBAND和RB_SETBANDINFO訊息來定義 rebar 波段的特性。 這些訊息接受 REBARBANDINFO 結構的位址做為 lParam 參數。 REBARBANDINFO 結構成員會定義指定波段的特性。 若要設定波段的特性,請設定 cbsize 成員,以位元組表示結構的大小。 然後設定 fMask 成員,以指出您的應用程式所填入的結構成員。
若要將子視窗指派給頻帶,請在 REBARBANDINFO 結構的 fMask 成員中包含 RBBIM_CHILD 旗標,然後將 hwndChild 成員設定為子視窗的句柄。 應用程式可以在 cxMinChild 和 cyMinChild 成員中設定子視窗的最小允許寬度和高度。
當 Rebar 控件終結時,它會終結指派給其內帶的任何子視窗。 若要防止控件終結指派給其頻帶的子視窗,請傳送RB_DELETEBAND訊息來移除帶狀,然後使用RB_SETPARENT訊息將父系重設為另一個視窗,再終結 Rebar 控件。
Rebar 控件用戶介面
除了使用RBBS_FIXEDSIZE樣式之外,所有 Rebar 控件區都可以重設大小。 若要調整或變更控件內的帶狀順序,請按下並拖曳帶的夾板列。 Rebar 控件會自動重設大小,並重新定位指派給其帶狀的子視窗。 此外,您可以按兩下帶狀文字來切換帶的大小,如果有的話。
Rebar 控件的影像清單
如果應用程式使用影像清單搭配 Rebar 控件,它必須先傳送 RB_SETBARINFO 訊息,才能將帶狀新增至控件。 此訊息接受 REBARINFO 結構的位址做為 lParam 參數。 傳送訊息之前,請先將 cbSize 成員設定為結構的大小,以位元組為單位,以準備 REBARINFO 結構。 然後,如果 Rebar 控件要在樂隊上顯示影像,請將 fMask 成員設定為 RBIM_IMAGELIST 旗標,並將影像清單句柄指派給 himl 成員。 如果 rebar 不會使用帶狀影像,請將 fMask 設定為零。
Rebar 控件訊息轉送
Rebar 控件會將所有 WM_NOTIFY 視窗訊息轉送至其父視窗。 此外,Rebar 控件會從指派給其頻帶的視窗轉送傳送給它的任何訊息,例如 WM_CHARTOITEM、 WM_COMMAND和其他訊息。