Adding Visual FoxPro Containers
In addition to form sets and forms, Visual FoxPro provides four base container classes.
Visual FoxPro Container Classes | |
---|---|
Command button group | Option button group |
Grid | Page frame |
To add container objects to a form
- In the Form Controls toolbar, select the desired container object (button group, grid, or page frame) button and drag it to size in the form.
When you add a command button group or an option button group to a form in the Form Designer, the group contains two buttons by default. When you add a page frame to a form, the page frame contains two pages by default. You can add more buttons or pages by setting the ButtonCount property or the PageCount property to the number you want.
When you add a grid to a form, the ColumnCount property is set to – 1 by default, which indicates AutoFill. At run time, the grid will display as many columns as there are fields in the RowSource table. If you don't want AutoFill, you can specify the number of columns by setting the grid's ColumnCount property.
For more information about these container objects, see Using Controls.
Collection and Count Properties
All container objects in Visual FoxPro have a count property and a collection property associated with them. The collection property is an array referencing each contained object. The count property is a numeric property indicating the number of contained objects.
The collection and count properties for each container are named according to the type of object that can be contained in the container. The following table lists the containers and the corresponding collection and count properties.
Container | Collection Property | Count Property |
---|---|---|
Application | Objects Forms |
Count FormCount |
FormSet | Forms | FormCount |
Form | Objects Controls |
Count ControlCount |
PageFrame | Pages | PageCount |
Page | Controls | ControlCount |
Grid | Columns | ColumnCount |
CommandGroup | Buttons | ButtonCount |
OptionGroup | Buttons | ButtonCount |
Column | Controls | ControlCount |
ToolBar | Controls | ControlCount |
Container | Controls | ControlCount |
Control | Controls | ControlCount |
These properties allow you to use a loop to programmatically manipulate all or specific contained objects. For example, the following lines of code set the BackColor property of columns in a grid to alternating green and red:
o = THISFORM.grd1
FOR i = 1 to o.ColumnCount
IF i % 2 = 0 && Even-numbered column
o.Columns(i).BackColor = RGB(0,255,0) && Green
ELSE
o.Columns(i).BackColor = RGB(255,0,0) && Red
ENDIF
ENDFOR
See Also
Addition of Objects to Forms | Adding Visual FoxPro Controls to a Form | Creating Forms | Adding User-Defined Objects to a Form | Extending Forms with Form Sets | Adding Controls to a Form with the Component Gallery | Adding Controls to a Wizard-Generated Form | Adding User-Defined Objects to a Form | Selecting, Moving, and Resizing Form Controls | Aligning Controls in Forms | Setting Tab Order for Controls