代表 ComboBox、Edit、ExplorerBar、Rebar、Tab 和 Toolbar 等控件的主題類別可以子類別化,以提供該特定控件的主題變化。 例如,Button 類別的子類別會分類為 Start::Button ,以提供套用至 [開始] 按鈕之主題的控制。
注意
當您建立子類別時請小心,例如本主題中所討論的子類別。 因為子類別可能會在後續版本的 Windows 中改變或無法使用,因此建議您不要使用這些子類別。
使用主題子類別的兩種方式
應用程式可以使用下列兩種方式之一的子類別化主題:
- 它可以使用 OpenThemeData 函式搭配 pszClassList 參數中表單
subclass::class的字串。 - 它可以在 pszSubAppName 參數中使用主題子類別名稱呼叫 SetWindowTheme。
使用設定可視化樣式的主題訊息
某些控制項,例如 Rebar 和 Toolbar,提供您可以傳送的特定訊息,以指示控件使用主題子類別。 針對這些控件,請在訊息的 lParam 參數中,提供緩衝區的指標,其中包含主題子類別名稱。 使用泛型 CCM_SETWINDOWTHEME 訊息,或使用如下表所示的特定變體。
| 控制 | 訊息 |
|---|---|
| 工具提示 | TTM_SETWINDOWTHEME |
| 工具列 | TB_SETWINDOWTHEME |
| 鋼筋 | RB_SETWINDOWTHEME |
| ComboBoxEx | CBEM_SETWINDOWTHEME |
下表列出 Windows Vista 定義的一些子類別。
| 類別 | 子 |
|---|---|
| ComboBox |
|
| 編輯 |
|
| 鋼筋 |
|
| 定位字元 |
|
| 工具列 |
|
Internet Explorer 子類別
在 Windows Vista 中,即使類別本身不是,Windows Internet Explorer 和 Windows Explorer 內部特定類別的子類別仍可供使用。 下表列出可用的子類別。
| 類別 | 類 |
|---|---|
| AddressBand |
|
| SearchBox |
|
下表顯示這些類別的詳細數據。
| 控制 | 部分 | 狀態 |
|---|---|---|
| ADDRESSBAND | ABBACKGROUND | 正常(0x1),熱(0x2),殘疾人(0x3),專注(0x4) |
| SEARCHBOX | SBBACKGROUND | 正常(0x1),熱(0x2),殘疾人(0x3),專注(0x4) |