Вы можете добавить следующие типы объектов на форму:
-
Элементы управления
-
Контейнеры
-
Определяемые пользователем классы
Объекты в Visual FoxPro принадлежат одной из двух категорий, в зависимости от характера базавого класса:
-
Контейнеры, содержащие другие контейнеры или элементы управления. Они могут выступать в качестве родителя (parent) для прочих объектов. Например, форма, как контейнер, является родительким объектом для check box, находящимся на ней.
-
Элементы управления могут размещаться в контейнере, но не могут быть родителем для других объектов. Например, check box не может содержать какие-либо объекты.
Построитель Форм (Form Designer) позволяет вам разрабатывать и контейнеры и элементы управления.
| Контейнер | Может содержать |
|---|---|
|
Column |
Headers, и любые объекты, кроме form sets, forms, toolbars, timers, и другие columns |
|
Command button group |
Command buttons |
|
Form set |
Forms, toolbars |
|
Form |
Page frames, grids, и элементы управления |
|
Grid |
Columns |
|
Option button group |
Option buttons |
|
Page frame |
Pages |
|
Page |
Grids, любые элементы управления |
Свойства Коллекция и Количество
У все объектов типа контейнер in Visual FoxPro есть свойство количества и свойство коллекции, связанное с ним. Свойство коллекции - это массив ссылок на каждый содержащийся в данном контейнере объект. Свойство количества - это числовое свойство, указывающее количество содержащихся объектов.
Свойства коллекция и количество для каждого контейнера названы в соответствии с объектом, включенным в него. В следующей таблице перечислены контейнеры и соответствующие им свойства коллекции и количества.
| Контейнер | Свойство Коллекция (Collection) | Свойство Количество (Count) |
|---|---|---|
Данные свойства дают возможность в цикле программно манипулирования одним определенным или всеми содержащимися объектами. Например, ниже приведеные строки кода устанавливают свойство BackColor для колонок в grid поочередно в зеленый и красный:
Copy Code | |
|---|---|
o = THISFORM.grd1
FOR i = 1 to o.ColumnCount
IF i % 2 = 0 && Четные номера колонок
o.Columns(i).BackColor = RGB(0,255,0) && Green
ELSE
o.Columns(i).BackColor = RGB(255,0,0) && Red
ENDIF
ENDFOR | |