共用方式為


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 控制件的額外描述性文字,請遵循 將額外文字新增至單選按鈕中的範例