Select Package Control

A select Package control is graphical tree structure that is used to represent different categories and packages that can be selected during the installation. This control contains two components, packages and another type of control called a category. A category is simply used to group a number of packages and/or other categories in the tree so that if a parent category is selected, all of the packages and categories within it will be selected as well. This control is mainly used on the Select Packages screen type. Examples of a select package control can be seen below:

 

Additional features of the select package control can be found in the following two categories:

 

Notification Messages

A notification message is triggered whenever the user interacts with a control, or whenever user interaction affects a control in some way. Each notification message consists of a number that identifies the type of interaction that has occurred, and a table containing details specific to that type of interaction. These two values are passed to the screen's On Ctrl Message event as the event variables e_MsgID and e_Details.

Note: Notification messages are not triggered when actions interact with this control.

(number) e_MsgID
A numeric constant that represents the specific notification message that was fired by the screen control. See the e_MsgID column below for all possible message ids that can be fired by a select package control.

(table) e_Details
A table of additional details that may be passed by the control when certain notification messages are fired. See the e_Details column below for the kinds of details that are returned and the table indexes that you can use to access them. For example, you can access the item "Type" from this table by using e_Details.Type.

e_MsgID

e_Details

Description

MSGID_ONSTATECHANGED

(number) Type - The Type of item that fired this. 0=Category, 1=Package.

(number)
nCtrlID - The control ID of the category that fired this event. If a package fired it, 0 is returned. 

(string)
strCtrlID - The control ID of the package that fired this event. If a category fired it,  "" is returned.

(number)
State - The state of the item.  See table below for state descriptions.

(number)
Size - The size of the selected package (in KB). If a category is selected, 0 is returned.

(string) Description -  The description text associated with the item.

(boolean)
TotalSizeVisible - Whether or not the Show total size text is visible on the screen.

(boolean)
Expanded - whether or not the category is expanded. Packages always return false.

Fired when the state of an item changes.

MSGID_ONSELCHANGED

same as above

Fired when the selection changes.

States

CONSTANT

VALUE

DESCRIPTION

CB_UNCHECKED

1

The checkbox is unchecked.

CB_CHECKED

2

The checkbox is checked.

CB_INDETERMINATE

3

The checkbox is in an indeterminate state. This means some of its children are selected and some are not.

CB_DIS_UNCHECKED

4

The checkbox is unchecked and disabled.

CB_DIS_CHECKED

5

The checkbox is checked and disabled.

CB_DIS_INDETERMINATE

6

The checkbox is in an indeterminate state and is disabled.

 

Related Actions

The following actions are available for interacting with a select package control:

 

DlgSelectPackages.GetCategoryProperties

DlgSelectPackages.SetCategoryProperties

DlgSelectPackages.UpdateDisplay