工具列控制項和按鈕樣式

下列視窗樣式專屬於工具列。 建立工具列時,它們會與其他視窗樣式結合。

注意 針對 Common Controls 6.00 版,如果 視覺化樣式 與工具列搭配使用,無論樣式設定為何,按鈕一律都是透明的。 否則,透明度行為正常,如使用TBSTYLE_FLAT或TBSTYLE_TRANSPARENT樣式所表示。

注意

Comctl32.dll第 6 版無法轉散發,但包含在 Windows 中。 若要使用第 6 版Comctl32.dll,請在資訊清單中指定它。 如需資訊清單的詳細資訊,請參閱 啟用視覺樣式

常數 描述
TBSTYLE_ALTDRAG
允許使用者在按住 ALT 鍵時拖曳工具列按鈕來變更工具列按鈕的位置。 如果未指定此樣式,使用者必須在拖曳按鈕時按住 SHIFT 鍵。 請注意,必須指定 CCS_ADJUSTABLE 樣式,才能拖曳工具列按鈕。
TBSTYLE_CUSTOMERASE
4.70 版。 當工具列處理 WM_ERASEBKGND 訊息時,會產生 NM_CUSTOMDRAW 通知碼。
TBSTYLE_FLAT
4.70 版。 建立一般工具列。 在一般工具列中,工具列和按鈕都是透明且已啟用熱追蹤。 按鈕文字會出現在按鈕點陣圖底下。 若要避免重繪問題,應該先設定此樣式,才能顯示工具列控制項。
TBSTYLE_LIST
4.70 版。 建立一般工具列,其中包含點陣圖右邊的按鈕文字。 否則,此樣式與 TBSTYLE_FLAT相同。 若要避免重繪問題,應該先設定此樣式,才能顯示工具列控制項。
TBSTYLE_REGISTERDROP
4.71 版。 產生 TBN_GETOBJECT 通知碼,以在游標通過工具列按鈕時要求置放目標物件。
TBSTYLE_TOOLTIPS
建立工具提示控制項,讓應用程式可用來顯示工具列中按鈕的描述性文字。
TBSTYLE_TRANSPARENT
4.71 版。 建立透明工具列。 在透明工具列中,工具列是透明的,但按鈕不是。 按鈕文字會出現在按鈕點陣圖底下。 若要避免重繪問題,應該先設定此樣式,才能顯示工具列控制項。
TBSTYLE_WRAPABLE
建立可以有多個按鈕行的工具列。 當工具列變得太窄而無法包含相同行上的所有按鈕時,工具列按鈕可以「換行」到下一行。 當工具列包裝時,如果列上沒有分隔符號,則會在最右邊的分隔符號或最右邊的按鈕上發生中斷。 當工具列是垂直 Rebar 控制項的一部分時,必須設定此樣式才能顯示垂直工具列控制項。 此樣式無法與CCS_VERT結合。

注意: 工具列按鈕可以有下列樣式的組合。 若要指定按鈕樣式,請在按鈕TBBUTTON結構的fsStyle成員中設定適當的旗標。 並非所有樣式都可以結合。

針對 Shell 4.72 版和更早版本,視窗和按鈕樣式旗標都有表單TBSTYLE_XXX。 如果您要編譯 Commctrl.h 4.72 版或更早版本的應用程式,則必須使用TBSTYLE_XXX按鈕樣式旗標。 對於 5.80 版和更新版本,所有按鈕樣式都有表單BTNS_XXX。 所有TBSTYLE_XXX值都有相同的BTNS_XXX值,具有相同的意義和數值。 為了方便起見,下表提供這兩種表單。

常數 描述
BTNS_AUTOSIZE
5.80 版。 指定工具列控制項不應該將標準寬度指派給按鈕。 相反地,按鈕的寬度會根據文字的寬度加上按鈕的影像來計算。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_AUTOSIZE
BTNS_BUTTON
5.80 版。 建立標準按鈕。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_BUTTON。 此旗標定義為 0,而且應該用來表示未設定任何其他旗標。
BTNS_CHECK
5.80 版。 建立雙重狀態的按鈕,每次使用者按一下按鈕時,都會在按下和非壓縮狀態之間切換。 當按鈕處於已按下狀態時,按鈕會有不同的背景色彩。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_CHECK
BTNS_CHECKGROUP
5.80 版。 建立一個按鈕,直到按下群組中的另一個按鈕為止,類似于選項按鈕 (也稱為選項按鈕) 。 這相當於合併BTNS_CHECK和BTNS_GROUP。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_CHECKGROUP
BTNS_DROPDOWN
5.80 版。 建立下拉式按鈕,可在按一下按鈕時顯示清單。 下拉式按鈕會傳送TBN_DROPDOWN通知碼,而不是用於一般按鈕 的WM_COMMAND 訊息。 然後,應用程式可以讓通知處理常式顯示選項清單。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_DROPDOWN
如果工具列具有 TBSTYLE_EX_DRAWDDARROWS 擴充樣式,下拉式按鈕會在其右側的個別區段中顯示下拉式箭號。 如果按一下箭號,將會傳送TBN_DROPDOWN通知碼。 如果按一下相關聯的按鈕,將會傳送WM_COMMAND訊息。
BTNS_GROUP
5.80 版。 與BTNS_CHECK結合時,會建立一個按鈕,該按鈕會保持按下狀態,直到按下群組中的其他按鈕為止。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_GROUP
BTNS_NOPREFIX
5.80 版。 指定按鈕文字不會有與其相關聯的快速鍵前置詞。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_NOPREFIX
BTNS_SEP
5.80 版。 建立分隔符號,提供按鈕群組之間的小間距。 具有此樣式的按鈕不會接收使用者輸入。 針對 4.72 版和更早版本,請使用對等的樣式旗標 TBSTYLE_SEP
BTNS_SHOWTEXT
5.81 版。 指定應該顯示按鈕文字。 所有按鈕都可以有文字,但只有具有BTNS_SHOWTEXT按鈕樣式的按鈕才會顯示。 此按鈕樣式必須與 TBSTYLE_LIST 樣式和 TBSTYLE_EX_MIXEDBUTTONS 擴充樣式搭配使用。 如果您為沒有BTNS_SHOWTEXT樣式的按鈕設定文字,當游標停留在按鈕上方時,工具列控制項會自動將其顯示為工具提示。 此功能可讓您的應用程式避免處理工具列 的TBN_GETINFOTIPTTN_GETDISPINFO 通知程式碼。
BTNS_WHOLEDROPDOWN
5.80 版。 指定按鈕會有下拉式箭號,但不會做為個別區段。 不論是否已設定 TBSTYLE_EX_DRAWDDARROWS 擴充樣式,具有此樣式的按鈕的行為都相同。
TBSTYLE_AUTOSIZE
相當於 BTNS_AUTOSIZE。 針對 4.72 版和更早版本使用TBSTYLE_AUTOSIZE。
TBSTYLE_BUTTON
相當於 BTNS_BUTTON。 針對 4.72 版和更早版本使用 TBSTYLE_BUTTON。
TBSTYLE_CHECK
相當於 BTNS_CHECK。 針對 4.72 版和更早版本使用TBSTYLE_CHECK。
TBSTYLE_CHECKGROUP
相當於 BTNS_CHECKGROUP。 針對 4.72 版和更早版本使用 TBSTYLE_CHECKGROUP。
TBSTYLE_DROPDOWN
相當於 BTNS_DROPDOWN。 針對 4.72 版和更早版本使用 TBSTYLE_DROPDOWN。
TBSTYLE_GROUP
相當於 BTNS_GROUP。 針對 4.72 版和更早版本使用 TBSTYLE_GROUP。
TBSTYLE_NOPREFIX
相當於 BTNS_NOPREFIX。 針對 4.72 版和更早版本使用TBSTYLE_NOPREFIX。
TBSTYLE_SEP
相當於 BTNS_SEP。 針對 4.72 版和更早版本使用TBSTYLE_SEP。

規格需求

需求
標頭
CommCtrl.h