Expands or contracts a group.
Usage
Set_Property(OLECtrlEntID, "OLE.GroupExpanded[group]", Boolean)
Values
[True | False]
Default: True
Indices
Index | Description |
---|---|
group | Index to an existing group |
Remarks
The GroupExpanded property allows you to programmatically expand and contract a group. If the control's Behavior property is set to "Explorer", then this property can be true or false for any group since all groups can be expanded or contacted independently. If, however, the Behavior property is set to "List" or "Toolbox" then only one group can be expanded at a time. In this case, expanding one group will set all other groups' GroupExpanded properties to 0.
While the GroupEnabled and GroupExpandable properties prevent the user from expanding and contracting groups, this property will always allow you to programmatically do so.
Dynamic Index
Every indexed property, including this one, supports dynamic indexing. There are three ways to index a ShortcutBar property: single, ranged, and all. Single indexing operates on one element at a time while ranged and all indexing operates on several elements at once, reducing the amount of code required.
Single
Single indexing is simple. Just pass a single integer to index an existing element.
Ranged
Ranged indexing operates on one or more properties. Instead of passing a single integer, you pass two integers delimited by a dash '-' character. For instance, to operate on elements 3, 4, 5 and 6 you pass '3-6'.
All
All indexing operates on all existing elements at once. Instead of passing a numerical index, you pass the word "All".
Setting multiple properties
Use ranged or all indexing to set the same value for multiple properties at once. This is particularly useful for boolean properties, such as enabling/disabling settings for several properties at once. It can also be useful for initializing or resetting a control.
Getting multiple properties
Getting multiple properties is tricky because it is possible to be getting multiple properties with different values. The ShortcutBar control resolves this by using a same/indeterminate paradigm. If all values of multiple properties are the same, then that value is returned. If there is at least one different value, then an indeterminate value is returned. In most cases the returned value is "", except for boolean properties. They return a value of 2, which is the value of OI Check Boxes in their indeterminate states.
Example
// Contract a group Set_Property(@Window:".OLE_SHORTCUT", "OLE.GroupExpanded[1]", 0) // Expand all groups Set_Property(@Window:".OLE_SHORTCUT", "OLE.GroupExpanded[All]", 1)