DirectoryCombo Control

A DirectoryCombo_control displays a part of the path that is currently displayed in the PathEdit control. This control does not show the last segment of the path, that segment is displayed by the DirectoryList control.

The DirectoryCombo_control displays all available volumes in alphabetical order and hierarchical steps of the current path. If the selected path contains any folders that do not exist, those files are displayed with a different icon. The types of volumes displayed are specified using the bits associated with RemovableVolume, FixedVolume, RemoteVolume, CDROMVolume, RAMDiskVolume, and FloppyVolume controls.

The PathEdit, DirectoryCombo, and DirectoryList controls are associated with the same string-valued property. That property is the path selected by the user. Enter the property's name into the Property column of the Control table. This property must have an initial value containing at least a one volume and one sublevel. Specify the initial value for the property in the Value column of the Property table.

This control is intended to be used on a Browse Dialog together with the PathEdit and DirectoryList controls.

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
IndirectPropertyName This is the name of an indirect property associated with the control. If the Indirect attribute bit is set, the control displays or changes the value of the property having this name. If the Indirect attribute bit is set, this name is also the value of the property listed in the Property column of the Control table.
Position Position of the 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.
PropertyName This is the name of the property associated with this control. If the Indirect attribute bit is not set, the control displays or changes the value of the property having this name. This attribute is specified in the Property column of the Control table.
PropertyValue Current value of the property displayed or changed by this control. If the Indirect attribute bit is not set, this is the value of PropertyName. If the Indirect attribute bit is set, this is the value of IndirectPropertyName. If the attribute changes, the control reflects the new value.
Text 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.
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 table 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, 3D look.
Include these bits in the bit word in the Attributes column of the Control table.
Indirect 0x00000000 0x00000008
The control displays or changes the value of the property in the Property column of the Control table. The control displays or changes the value of the property that has the Identifier listed in the Property column of the Control table.
Determines if the property associated with this control is referenced indirectly.
RTLRO 0x00000000 0x00000020
Text in the control is displayed in left-to-right reading order. Text in the control is displayed in 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.

Remarks

This control can be created from the COMBOBOX class by using the CreateWindowEx function. It has the CBS_DROPDOWNLIST, CBS_OWNERDRAWFIXED, CBS_HASSTRINGS, WS_CHILD, WS_GROUP, WS_TABSTOP, and WS_VSCROLL styles.