ComboBox 控制項

ComboBox 控制件會顯示預先定義值的下拉式清單,以及使用者可以在其中輸入值的編輯欄位。 若要將此控件與字串或整數屬性產生關聯,請在 Control 資料表[屬性] 資料行中輸入屬性的名稱。

控件屬性

您可以使用下列屬性搭配此控制件。 若要使用事件變更屬性的值,請將控件訂閱至 EventMapping 數據表中的 ControlEvent,並在 [屬性] 資料行中列出屬性的識別碼。 在 [事件] 數據行中輸入 ControlEvent 的標識碼。

屬性標識碼 十六進位位 描述
IndirectPropertyName 這是與控件相關聯的間接屬性名稱。 如果已設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 如果已設定 Indirect 屬性位,這個名稱也是 Control 資料表的 Property 資料行中列出的屬性值。
位置 控件在對話框中的位置。 在控件數據表的 Width、Height、X 和 Y 資料行中,輸入控件左角的寬度、高度和座標。 使用 安裝程式單位 的長度和距離。
PropertyName 這是與這個控件相關聯的屬性名稱。 如果未設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 此屬性是在 Control 資料表Property 資料行中指定。
PropertyValue 這個控件所顯示或變更之屬性的目前值。 如果未設定 Indirect 屬性位,這是 PropertyName 的值。 如果已設定 Indirect 屬性位,這是 IndirectPropertyName 的值。 如果屬性變更,控件會反映新的值。
Text 若要設定文字字串的字型和字型樣式,請在顯示字元的字串前面加上 {\style} 或 {&style}。 其中 style 是 TextStyle 數據表之 TextStyle 數據行中列出的標識碼。 如果兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。 若要指定使用者可以輸入的字元數,請在任何字型規格後面附加 {n},其中 n 是正整數。
Visible 0x00000000 0x00000001
隱藏的控件。 可見控制件。
將這個位包含在 Control 資料表中 Attributes 數據行的位字中,讓控件在建立時可見或隱藏。
您也可以使用 ControlCondition 資料表來隱藏或顯示控件。
已啟用 0x00000000 0x00000002
處於停用狀態的控制件。 處於啟用狀態的控制件。
將這個位包含在控件[屬性] 數據行的位字中,以在建立時啟用控件。
您也可以使用 ControlCondition 數據表來啟用或停用控件。
沉沒 0x00000000 0x00000004
顯示預設的視覺化樣式。 以沉沒的 3D 外觀顯示控制件。
在 Control 資料表的 [屬性] 資料行中,將這些位包含在位字中
間接 0x00000000 0x00000008
控制項會在 Control 資料表[屬性] 資料行中顯示或變更 屬性的值。 控件會顯示或變更屬性的值,其標識符列在 Control 數據表的 Property 資料行中。
判斷與這個控件相關聯的屬性是否間接參考。
整數 0x00000000 0x00000010
與控件相關聯的屬性是字串值。 與控件相關聯的屬性是整數值。
將這個位包含在 Control 數據表Attributes 數據行的位字中,以在建立控件時設定此屬性。
RTLRO 0x00000000 0x00000020
控件中的文字會以從左至右的閱讀順序顯示。 控件中的文字會以從右至左的閱讀順序顯示。
RightAligned 0x00000000 0x00000040
控件中的文字會對齊左邊。 控件中的文字會對齊右邊。
LeftScroll 0x00000000 0x00000080
滾動條位於控件右側。 滾動條位於控件的左側。
BiDi 0x000000E0 為 RTLRORightAlignedLeftScroll 屬性的組合設定此值。
排序 未設定0x00010000
依字母順序顯示的專案。 以 ListView 資料表中指定的順序顯示的專案。
控件會 查詢 ComboBox 數據表,如果已設定 Sorted 樣式位, 則 ComboBox 具有CBS_SORT樣式,並顯示 Ordering 所指定的專案。 如果未設定此樣式位,專案會依字母順序顯示。
ComboList 未設定0x00020000
下拉式方塊與編輯欄位。 具有編輯欄位的下拉式方塊會由靜態文字欄位取代。
UsersLanguage 0x00000000 0x00100000
在資料庫代碼頁中建立的字型。 在用戶的預設 UI 代碼頁中建立的字型。

備註

您可以使用 CreateWindowEx 函式,從 COMBOBOX 類別建立此控件。 它具有CBS_AUTOHSCROLLWS_TABSTOPWS_GROUPWS_CHILD樣式。 如果 ComboList 位開啟,它也具有 CBS_DROPDOWNLIST 樣式,否則其具有 CBS_DROPDOWN 樣式。

可以輸入的文字長度可以限制,方法是將數位從 0 到 2147483646大括弧放在 [控件] 資料表 [文字] 字段開頭的大括弧中。 例如,如果文字欄位以 開頭 {80},字串的長度會限製為80個字元。 如果未在數據表中提供這類限制,或指定了 0,長度會設定為可能的最大長度(2147483646個字元)。 負值或非數值會產生錯誤。

為了與螢幕助讀程式相容,在撰寫具有 ComboBox 控件作為第一個使用中控件的對話框時,您必須將屬於編輯欄位的文字欄位設為 Dialog 資料表中的第一個使用中控件。 由於靜態文字無法取得焦點,因此建立對話框時,編輯字段一開始會有焦點。 這樣做可確保螢幕助讀程序顯示正確的資訊。