SelectionTree 控制件

此控制項可讓使用者變更功能數據表所列功能的選取狀態。 控制件與使用者可以透過 [瀏覽] 對話框設定的字串值屬性相關聯。 您可以在 Control 資料表的 [屬性] 資料行中輸入屬性的名稱,讓控件與屬性產生關聯。

SelectionTree 控制項會自動在 Windows XP 或舊版作業系統上發布下列 控件事件 。 當選取的專案從某個節點變更為另一個節點時,SelectionTree 控件會發佈這些事件。 如果選取樹狀結構沒有節點,控件會發佈這些事件,並清除訂閱事件的控件內容。 這些 ControlEvent 不需要列在 ControlEvent 數據表

Control 事件 描述
SelectionAction 從UIText資料表發佈字串,描述醒目提示的專案。
SelectionBrowse 產生 [瀏覽] 對話框,用來修改反白顯示項目的路徑。
SelectionDescription 功能數據表 發佈字串,描述醒目提示的專案。
SelectionNoItems 刪除描述性文字,或停用過時專案的按鈕。
SelectionPath 發佈醒目提示項目的路徑。
SelectionPathOn 發行目前選取的功能是否有相關聯的選取路徑。
SelectionSize 發佈醒目提示專案的大小。

 

從 Windows Server 2003 系統開始,SelectionTree 控件會發佈上述表格中的所有事件,此外,也發佈 DoAction ControlEventSetProperty ControlEvent。 記錄必須新增至 ControlEvent 數據表 ,才能發佈 DoAction 或 SetProperty ControlEvents。

Control 事件 描述
DoAction 通知安裝程式執行自定義動作。
SetProperty 將屬性設定為新的值。

 

從 Windows Installer 3.0 版開始,SelectionTree 控件會發佈事件,以執行 ControlEvent 數據表中列出的自定義動作。 SelectionTree 控件會在控件中的特徵選取範圍變更或針對目前特徵選擇不同的選取狀態時,發佈此事件。 每次發佈事件時,自定義動作都會執行。 SelectionTree 控制項會藉由設定下列屬性的值,將資訊傳送至自定義動作。 當 SelectionTree 控制件關閉時,會清除所有這些屬性。

Windows Installer 2.0: 不支援。 SelectionTree 控制項不會發布事件,也不會設定下列屬性。

屬性 說明
MsiSelectionTreeSelectedFeature 功能數據表的 [功能] 字段中選取的功能名稱。
MsiSelectionTreeSelectedAction 選取功能的安裝動作狀態。 此值可以是INSTALLSTATE_ABSENT、INSTALLSTATE_LOCAL、INSTALLSTATE_SOURCE或INSTALLSTATE_ADVERTISED。
MsiSelectonTreeChildrenCount 直接子節點的數目。
MsiSelectionTreeInstallingChildrenCount INSTALLSTATE_LOCAL、INSTALLSTATE_SOURCE或INSTALLSTATE_ADVERTISED的直接子節點數目。
MsiSelectionTreeSelectedCost 以512位元組為單位安裝所選功能的成本。
MsiSelectionTreeChildrenCost 以512位元組為單位安裝所有子系功能的成本。
MsiSelectionTreeSelectedPath 正在安裝所選功能的路徑。 只有當功能安裝為INSTALLSTATE_LOCAL時,才會定義。

 

注意

Control 數據表[文字] 字段內容永遠不會由 SelectionTree 控件顯示。 相反地,此欄位會指定要由控件顯示的文字樣式,並包含螢幕檢閱公用程式所使用的控件描述。 若要設定文字字串的字型和字型樣式,請在顯示字元的字串前面加上 {\style} 或 {&style}。 其中 style 是 TextStyle 數據表之 TextStyle 數據行中列出的標識碼。 如果其中兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。 螢幕檢閱公用程式會讀取下列資訊做為控件的描述。 請參閱 輔助功能

 

控件屬性

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

屬性標識碼 十六進位位 描述
IndirectPropertyName 與控件相關聯的間接屬性名稱。 如果已設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 如果已設定 Indirect 屬性位,這個名稱也是 Control 資料表的 Property 資料行中列出的屬性值。
位置 控件在對話框中的位置。 在控件數據表的 Width、Height、X 和 Y 資料行中,輸入控件左角的寬度、高度和座標。 使用 安裝程式單位 的長度和距離。
PropertyName 與這個控件相關聯的屬性名稱。 如果未設定 Indirect 屬性位,控制項會顯示或變更具有這個名稱的屬性值。 此屬性是在 Control 資料表Property 資料行中指定。
PropertyValue 這個控件所顯示或變更之屬性的目前值。 如果未設定 Indirect 屬性位,這是 PropertyName 的值。 如果已設定 Indirect 屬性位,這是 IndirectPropertyName 的值。 如果屬性變更,控件會反映新的值。
Text 根據輸入控件數據表之 Text 資料行中的文字,在螢幕助讀程式中顯示文字。 請參閱 輔助功能
Visible 0x00000000 0x00000001
隱藏的控件。 可見控制件。
將這個位包含在 Control 資料表中 Attributes 數據行的位字中,讓控件在建立時可見或隱藏。
您也可以使用 ControlCondition 資料表來隱藏或顯示控件。
已啟用 0x00000000 0x00000002
處於停用狀態的控制件。 處於啟用狀態的控制件。
將這個位包含在控件[屬性] 數據行的位字中,以在建立時啟用控件。
您也可以使用 ControlCondition 數據表來啟用或停用控件。
沉沒 0x00000000 0x00000004
顯示預設的視覺化樣式。 以沉沒的 3D 外觀顯示控制件。
在 Control 資料表的 [屬性] 資料行中,將這些位包含在位字中
間接 0x00000000 0x00000008
控制項會在 Control 資料表[屬性] 資料行中顯示或變更 屬性的值。 控件會顯示或變更屬性的值,該屬性值已列在 Control 資料表的 [屬性] 資料行中。
判斷與這個控件相關聯的屬性是否間接參考。
RTLRO 0x00000000 0x00000020
控件中的文字會以從左至右的閱讀順序顯示。 控件中的文字會以從右至左的閱讀順序顯示。
RightAligned 0x00000000 0x00000040
控件中的文字會對齊左邊。 控件中的文字會對齊右邊。
LeftScroll 0x00000000 0x00000080
滾動條位於控件右側。 滾動條位於控件的左側。
BiDi 0x000000E0 為 RTLRORightAlignedLeftScroll 屬性的組合設定此值。

 

備註

您可以使用 CreateWindowEx 函式,從 WC_TREEVIEW 類別建立此控件。 它具有WS_BORDERTVS_HASLINES、TVS_HASBUTTONS、TVS_LINESATROOTTVS_DISABLEDRAGDROP、TVS_SHOWSELALWAYS、WS_CHILDWS_TABSTOPWS_GROUP樣式。

只有在呼叫 CostInitialize 宏指令和 CostFinalize 宏指令,才會填入選取樹狀結構。

UIText 資料表中的下列字串與此控件相關。

詞彙 描述
AbsentPath
為處於不存在狀態的項目顯示的路徑。

 

下列六個字串可用來顯示選取的子係數目,以及與醒目提示專案相關聯的大小:

  • SelChildCostPos
  • SelChildCostNeg
  • SelParentCostPosPos
  • SelParentCostPosNeg
  • SelParentCostNegPos
  • SelParentCostNegNeg

下列字串可用來在快捷選單中顯示專案的可用選擇選項:

  • MenuAbsent
  • MenuLocal
  • MenuCD
  • MenuNetwork
  • MenuAllLocal
  • MenuAllCD
  • MenuAllNetwork

下列字串可用來說明 SelectionDescription ControlEvent 中的目前選取範圍。

  • SelAbsentAbsent
  • SelAbsentLocal
  • SelAbsentCD
  • SelAbsentNetwork
  • SelLocalAbsent
  • SelLocalLocal
  • SelLocalCD
  • SelLocalNetwork
  • SelCDAbsent
  • SelNetworkAbsent
  • SelCDLocal
  • SelNetworkLocal
  • SelCDCD
  • SelNetworkNetwork

下列四個本地化字串用於格式化檔案的大小:

  • Bytes
  • KB
  • MB
  • GB