VolumeCostList Control

The VolumeCostList control presents information about the cost associated with the selection on the different volumes. The control shows all the volumes involved in the current installation plus all volumes that are of the types specified in the attribute bits. If the required disk space exceeds the amount available on some drive, the volume is highlighted in the table. Clicking a column header sorts the volumes according to the chosen column.

The following strings are used for the column headings in the control and must be specified in the UIText table:

  • VolumeCostAvailable
  • VolumeCostDifference
  • VolumeCostRequired
  • VolumeCostSize
  • VolumeCostVolume

The following four localized strings are used in formatting the size of a file:

  • Bytes
  • KB
  • MB
  • GB

Authors can set the column widths in the VolumeCostList control by appending column widths after any font specifications. Column widths are entered as a series of positive integers enclosed in curly braces. Empty curly braces or {0} hide the column. A negative number or a string that cannot be converted into a positive integer is an invalid column width. When an invalid column width is encountered in the series, the remaining columns are hidden. A maximum of five column widths can be specified.

The contents of the Text field of the Control table are never displayed by the VolumeCostList control. Instead this field specifies the style of text to be displayed by the control and contains a description of the control used by screen review utilities. To set the font and font style of a text string, prefix the string of displayed characters with {\style} or {&style}. Where style is an identifier listed in the TextStyle column of the TextStyle table. If neither of these are present, but the DefaultUIFont property is defined as a valid text style, that font will be used. The information following this is read by screen review utilities as the description of the control. See Accessibility.

Note that the installer does not update the content of the VolumeCostControl when a user enters a different path into a PathEdit control, a Browse dialog box, DirectoryList control, or DirectoryCombo control because there is no property associated with the VolumeCostList control.

Control Attributes

You can use the following attributes with this control. To change the value of an attribute using an event, subscribe the control to a ControlEvent in the EventMapping table and list the attribute's identifier in the Attribute column. Enter the identifier of the ControlEvent in the Event column.

Attribute identifier Hexadecimal bit Description
Position
Position of control in the dialog box.
Enter the control's width, height, and coordinates of the control's left corner into the Width, Height, X, and Y columns of the Control table. Use installer units for length and distance.
Text
To display text in screen readers, enter the text into the Text column of the Control table. See Accessibility.
To set the column widths in the VolumeCostList control, append the column widths to any font specifications. Column widths are entered as a series of positive integers enclosed in curly braces. Empty curly braces or {0} hide the column. A negative number or a string that cannot be converted into a positive integer is an invalid column width. When an invalid column width is encountered in the series, the remaining columns are hidden. A maximum of five column widths can be specified.
Visible
0x00000000
0x00000001
Hidden control.
Visible control.
Include this bit in the bit word of the Attributes column in the Control table to make the control visible or hidden upon its creation.
You can also hide or show a control by using the ControlCondition table.
Enabled
0x00000000
0x00000002
Control in a disabled state.
Control in an enabled state.
Include this bit in the bit word in the Attributes column of the Control to enable the control on creation.
You can also enable or disable a control by using the ControlCondition table.
Sunken
0x00000000
0x00000004
Displays the default visual style.
Displays the control with a sunken, 3-D, look.
Include these bits in the bit word in the Attributes column of the Control table.
RTLRO
0x00000000
0x00000020
Text in the control is displayed a left-to-right reading order.
Text in the control is displayed a right-to-left reading order.
RightAligned
0x00000000
0x00000040
Text in the control is aligned to the left.
Text in the control is aligned to the right.
LeftScroll
0x00000000
0x00000080
The scroll bar is located on the right side of the control.
The scroll bar is located on the left side of the control.
BiDi
0x000000E0
Set this value for a combination of the RTLRO, RightAligned, and LeftScroll attributes.
RemovableVolume
0x00010000
Control lists removable drives.
Include in the bit word in the Attributes column of the Control table.
FixedVolume
0x00020000
Control lists fixed internal hard drives.
Include in the bit word in the Attributes column of the Control table.
RemoteVolume
0x00040000
Control lists remote volumes.
Include in the bit word in the Attributes column of the Control table.
CDROMVolume
0x00080000
Control lists CD-ROM volumes.
Include in the bit word in the Attributes column of the Control table.
RAMDiskVolume
0x00100000
Control lists RAM disks.
Include in the bit word in the Attributes column of the Control table.
FloppyVolume
0x00200000
Control lists floppy drives.
Include in the bit word in the Attributes column of the Control table.
ControlShowRollbackCost
0x00000000
0x00400000
If PROMPTROLLBACKCOST = P, and this attribute is not set, the rollback, backup files are not included in the cost displayed by the VolumeCostList Control.
If PROMPTROLLBACKCOST = P, and this attribute is set, the rollback, back-up files are included in the cost displayed by the VolumeCostList control.
This control attribute is ignored if PROMPTROLLBACKCOST = D or F. If PROMPTROLLBACKCOST = F, the cost of the rollback, backup files is included. If PROMPTROLLBACKCOST = D, or DISABLEROLLBACK = 1, the cost of the rollback, back-up files is not included.

 

Remarks

This control can be created from the WC_LISTVIEW class by using the CreateWindowEx function. It has the LVS_REPORT, WS_VSCROLL, WS_HSCROLL, LVS_SHAREIMAGELISTS, LVS_AUTOARRANGE, LVS_SINGLESEL, WS_BORDER, WS_CHILD, WS_TABSTOP, and WS_GROUP styles.