RadioButtonGroup 控制項

RadioButtonGroup 控制項是一組單選按鈕。 它可讓使用者從預先決定的值清單中選取屬性的字串或整數值。 您可以將屬性的名稱輸入 Control 資料表Property 數據行,讓這個控件與屬性產生關聯。 在 RadioButton 資料表[值] 資料行中指定選取的可能值。 請注意,顯示的字串不一定與用戶選擇的值相同。

每個 RadioButtonGroup 控制件都會與 屬性相關聯。 此屬性的預設值必須在 Property 資料表初始化。 在 RadioButton 資料表中指定的每個 RadioButtonGroup 內,可能有一個單選按鈕在 [值] 字段中的值符合此屬性的預設值。 這是 RadioButtonGroup 控制的預設按鈕。 [ 預設 ] 按鈕一開始會顯示為控件中選取的按鈕。

請注意,在選取群組中的其中一個按鈕之前,對話框上的焦點無法移至 RadioButtonGroup 控制件。 若要讓焦點移至此按鈕群組,請將其中一個按鈕指定為群組的預設按鈕。

RadioButtonGroup 控制項只會設定屬性值,而且無法用來傳送 ControlEvent

實作會將整個群組視為一個控件,因此無法隱藏或停用群組內的個別按鈕。 同樣地,所有按鈕都必須具有相同的樣式,也就是說,所有按鈕都有文字,或者所有按鈕都有位圖(或其他類似的特徵)。 按鈕的位置是相對於群組所撰寫。 如此一來,只要變更群組的座標,即可移動整個群組,而不需要變更個別按鈕。 在建立時,控件會確認個別按鈕不會超出群組的界限。

控件屬性

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

屬性標識碼 十六進位位 描述
IndirectPropertyName 這是與控件相關聯的間接屬性名稱。 如果已設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 如果已設定 Indirect 屬性位,這個名稱也是 Control 資料表的 Property 資料行中列出的屬性值。
位置 控件在對話框中的位置。 在控件數據表的 Width、Height、X 和 Y 資料行中,輸入控件左角的寬度、高度和座標。 使用 安裝程式單位 的長度和距離。
PropertyName   這是與這個控件相關聯的屬性名稱。 如果未設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 此屬性是在 Control 資料表Property 資料行中指定。
PropertyValue 這個控件所顯示或變更之屬性的目前值。 如果未設定 Indirect 屬性位,這是 PropertyName 的值。 如果已設定 Indirect 屬性位,這是 IndirectPropertyName 的值。 如果屬性變更,控件會反映新的值。
Text 這個控件屬性可以指定控件所顯示的文字、儲存在二進位數據表中的影像,或運行時間的映射集。 若要指定文字,請在 Control 資料表Text 資料行中輸入文字字串。 若要設定此文字的字型和字型樣式,請在顯示的字元字串前面加上 {\style} 或 {&style}。 其中 style 是 TextStyle 數據表之 TextStyle 數據行中列出的標識碼。 如果兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。
若要指定儲存在 Binary 資料表中的圖示或點陣圖影像,請從二進位數據表的 [名稱] 資料行輸入影像記錄的主鍵,進入控件之 [控件] 資料表記錄的 [文字] 資料行。
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
控件中的文字會對齊左邊。 控件中的文字會對齊右邊。
PushLike 0x00000000 0x00020000
控件會以其一般外觀繪製。 控件具有BS_PUSHLIKE樣式,並繪製成顯示為按鈕。
將這個位包含在 Control 數據表Attributes 數據行的位字中,以在建立控件時設定此屬性。
點陣圖 0x00000000 0x00040000
控制件中的文字是在控制項資料表的 Text 資料列中指定。 控件具有BS_BITMAP樣式,控件中的文字會由位圖影像取代。 Control 數據表中的 Text 數據行會當做二進位數據表外鍵使用。
將這個位包含在 Control 資料表的 [屬性] 資料行的位字中
請勿同時設定圖示和點陣陣圖樣式位。 按鈕不能同時包含位圖影像和文字。
若要設定文字字串的字型和字型樣式,請在顯示字元的字串前面加上 {\style} 或 {&style}。 其中 style 是 TextStyle 數據表之 TextStyle 數據行中列出的標識碼。 如果兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。
圖示 0x00000000 0x00080000
控制件中的文字是在控制項資料表的 Text 資料列中指定。 控件具有BS_ICON樣式,控件中的文字會由圖示影像取代。 Control 數據表中的 Text 數據行會當做二進位數據表外鍵使用。
將這個位包含在 Control 資料表的 [屬性] 資料行的位字中
請勿同時設定圖示和點陣陣。 按鈕不能同時包含圖示影像和文字。
若要設定文字字串的字型和字型樣式,請在顯示字元的字串前面加上 {\style} 或 {&style}。 其中 style 是 TextStyle 數據表之 TextStyle 數據行中列出的標識碼。 如果兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。
FixedSize 0x00000000 0x00100000
伸展圖示影像以符合控件。 裁剪或置中控件中的圖示影像。
將這個位包含在 Control 資料表之 Attributes 數據行的位字中
IconSize 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 控件的額外描述性文字,請遵循將額外文字新增至單選按鈕提供的範例。