RadioButtonGroup 控制項
RadioButtonGroup 控制項是一組單選按鈕。 它可讓使用者從預先決定的值清單中選取屬性的字串或整數值。 您可以在 [控制件] 資料表的 [屬性] 資料列中輸入屬性的名稱,將這個控制件與屬性產生關聯,。 在 RadioButton 數據表的 [值] 資料行中,指定選取的可能值。 請注意,顯示的字串不一定與用戶選擇的值相同。
每個 RadioButtonGroup 控制件都會與 屬性相關聯。 這個屬性預設值必須在 Property 資料表中初始化,。 在 RadioButton 數據表中指定的每個 RadioButtonGroup內,可能會有一個單選按鈕在 [值] 欄位中的值符合此屬性的預設值。 這是 RadioButtonGroup 控制的預設按鈕。 [預設] 按鈕一開始會顯示為控件中選取的按鈕。
請注意,在選取群組中的其中一個按鈕之前,對話框上的焦點無法移至 RadioButtonGroup 控制件。 若要讓焦點移至此按鈕群組,請將其中一個按鈕指定為群組的預設按鈕。
RadioButtonGroup 控制項只會設定屬性值,而且無法用來傳送 ControlEvent。
實作會將整個群組視為一個控件,因此無法隱藏或停用群組內的個別按鈕。 同樣地,所有按鈕都必須具有相同的樣式,也就是說,所有按鈕都有文字,或者所有按鈕都有位圖(或其他類似的特徵)。 按鈕的位置是相對於群組所撰寫。 如此一來,只要變更群組的座標,即可移動整個群組,而不需要變更個別按鈕。 在建立時,控件會確認個別按鈕不會超出群組的界限。
控件屬性
您可以使用下列屬性搭配此控制件。 若要使用事件變更屬性的值,請將控件訂閱至 EventMapping 數據表中的 ControlEvent,並在 Attribute 數據行中列出屬性的標識符。 在 [事件] 數據行中輸入 ControlEvent 的標識碼。
屬性標識碼 | 十六進位位 | 描述 |
---|---|---|
IndirectPropertyName | 這是與控件相關聯的間接屬性名稱。 如果已設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 如果已設定 Indirect 屬性位,這個名稱也是 Control 資料表的 Property 資料行中所列屬性的值,。 | |
位置 | 控件在對話框中的位置。 將控件左角的寬度、高度和座標輸入 控件數據表的 Width、Height、X 和 Y 資料行。 使用 安裝程式單位 長度和距離。 |
|
PropertyName | 這是與這個控件相關聯的屬性名稱。 如果未設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 這個屬性是在 Control 資料表的 [屬性] 資料列中指定。 | |
PropertyValue | 這個控件所顯示或變更之屬性的目前值。 如果未設定 Indirect 屬性位,這是 PropertyName 的值。 如果已設定 Indirect 屬性位,這是 IndirectPropertyName 的值。 如果屬性變更,控件會反映新的值。 | |
文字 | 這個控件屬性可以指定控件所顯示的文字、儲存在二進位數據表中的影像,或運行時間的映射集。 若要指定文字,請在 Control 資料表的 Text 資料列中輸入文字字串,。 若要設定此文字的字型和字型樣式,請在顯示的字元字串前面加上 {\style} 或 {&樣式}。 其中 style 是列在 TextStyle 數據表TextStyle 數據行中的標識符。 如果其中兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。 若要指定儲存在 二進位數據表中的圖示或點陣圖影像, 將影像記錄的主鍵從二進位數據表的 [名稱] 數據行輸入到控件 控件數據表的 Text 數據行 記錄。 |
|
可見 | 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 |
控件中的文字會對齊左邊。 控件中的文字會對齊右邊。 |
PushLike | 0x00000000 0x00020000 |
控件會以其一般外觀繪製。 控件具有BS_PUSHLIKE樣式,並繪製成顯示為按鈕。 將這個位包含在 Control 資料表的 Attributes 數據行的位字,以在建立控件時設定此屬性。 |
位圖 | 0x00000000 0x00040000 |
控制的文字是在 Control 資料表的 Text 資料列中指定,。 控件具有BS_BITMAP樣式,控件中的文字會由位圖影像取代。
Control 資料表 中的 Text 數據行會當做 二進位數據表的外鍵使用。 將這個位包含在 Control 資料表的 [屬性] 資料列中,。 請勿同時設定圖示和點陣陣圖樣式位。 按鈕不能同時包含位圖影像和文字。 若要設定文字字串的字型和字型樣式,請在顯示字元的字串前面加上 {\style} 或 {&樣式}。 其中 style 是列在 TextStyle 數據表TextStyle 數據行中的標識符。 如果其中兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。 |
圖示 | 0x00000000 0x00080000 |
控制的文字是在 Control 資料表的 Text 資料列中指定,。 控件具有BS_ICON樣式,控件中的文字會由圖示影像取代。
Control 資料表 中的 Text 數據行會當做 二進位數據表的外鍵使用。 將這個位包含在 Control 資料表的 [屬性] 資料列中,。 請勿同時設定圖示和點陣陣。 按鈕不能同時包含圖示影像和文字。 若要設定文字字串的字型和字型樣式,請在顯示字元的字串前面加上 {\style} 或 {&樣式}。 其中 style 是列在 TextStyle 數據表TextStyle 數據行中的標識符。 如果其中兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。 |
FixedSize | 0x00000000 0x00100000 |
伸展圖示影像以符合控件。 裁剪或置中控件中的圖示影像。 將這個位包含在 Control 資料表之 Attributes 資料行的位字中,。 |
圖示大小 | 0x00000000 0x00200000 0x00400000 0x00600000 |
載入第一個影像。 載入前 16x16 影像。 載入前 32x32 影像。 載入前 48x48 映像。 圖示檔案可以包含相同圖示的不同大小影像。 Control 資料表的 [屬性] 資料行中包含適當位字的值 如果未設定這些位,安裝程式會忽略 FixedSize 屬性,並延展影像以符合控件矩形。 如果同時設定 IconSize 位和 FixedSize 位,則小於控件的影像置中,且影像大於壓縮以符合的控件。 |
HasBorder | 未設定0x01000000 |
沒有框線,也沒有文字。 顯示框線和文字。 在 控件 的 [屬性] 資料行的位字中包含16777216,以顯示框線和文字。 |
言論
由於 Windows 繪製框架的方式,控件視窗頂端與可見框架之間有一個間距,即使沒有標題也一樣。
您可以使用 createWindowEx函式,從 BUTTON 類別建立此控件。 如果已設定 HasBorder 位,則具有 BS_GROUPBOX 樣式,否則具有 BS_OWNERDRAW 樣式。
RadioButtonGroup 控件不應該重疊其他控件,其他控件不應該重疊 RadioButtonGroup。 重疊此控制件和另一個控制項可能會導致控件運作或顯示不正確。 若要提供螢幕助讀程式搭配 RadioButtonGroup 控制件的額外描述性文字,請遵循 將額外文字新增至單選按鈕中的範例。