Вы можете добавить следующие типы объектов на форму:
-
Элементы управления
-
Контейнеры
-
Определяемые пользователем классы
Объекты в 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 поочередно в зеленый и красный:
![]() | |
---|---|
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 |