Указывает активный объект Form в объекте FormSet или _SCREEN. Недоступно на этапе разработки, доступно только для чтения на этапе выполнения.

Object.ActiveForm.Property [ = Setting]
-или-
Object.ActiveForm.Method

Возврашаемое Значение

Property

Задает свойство активного объекта Form, содержащегося в объекте FormSet, например свойство Caption.
Setting

Существующая или новая установка свойства Property.
Method

Задает метод активного объекта Form, содержащегося в объекте FormSet, например метод Move.

Комментарии

Применимо для: Form Object | FormSet Object | _SCREEN

Если объект FormSet активен, ActiveForm указывает содержащийся в нем объект Form, который находится в фокусе. Если объект-контейнер FormSet не активен, возникает ошибка.

Используйте свойство ActiveForm для доступа к свойствам и методам активного объекта Form.

Пример

В этом примете показывается, как при помощи свойства ActiveForm можно делать доступным пункт меню и закрывать активную форму. При запуске этого примера пункт меню Close в меню Window не доступен, и становиться доступным только после открытия форы. Это обеспечивается выражением SKIP FOR в 1 пункте выпадающего меню Wwindow, в котором проверяется, символьного ли типа свойства Name активной формы. Свойство Name - символьного типа, если есть активная форма, в противном случае свойство имеет неопределенный тип.

  Копировать Код
SET SYSMENU TO
SET SYSMENU AUTOMATIC

DEFINE PAD _0k50sa3dr OF _MSYSMENU PROMPT "\<Window" COLOR SCHEME 3 ;
    KEY ALT+W, ""
DEFINE PAD _0k50sa3ds OF _MSYSMENU PROMPT "E\<xit" COLOR SCHEME 3 ;
    KEY ALT+X, ""
ON PAD _0k50sa3dr OF _MSYSMENU ACTIVATE POPUP Wwindow
ON SELECTION PAD _0k50sa3ds OF _MSYSMENU DO CloseDemo

DEFINE POPUP Wwindow MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF Wwindow PROMPT "\<Close" ;
    SKIP FOR TYPE("_Screen.ActiveForm.Name")<>"C"
DEFINE BAR 2 OF Wwindow PROMPT "\<Open"
ON SELECTION BAR 1 OF Wwindow =_SCREEN.ACTIVEFORM.RELEASE()
ON SELECTION BAR 2 OF Wwindow DO OpenForm

PUBLIC ARRAY aoForms(1)
aoForms[1] = NEWOBJECT("frmdemo")
aoForms[1].SHOW

READ EVENTS

SET SYSMENU TO DEFAULT
CLEAR ALL

    PROCEDURE OpenForm
    DIMENSION aoForms(ALEN(aoForms)+1)
    aoForms[ALEN(aoForms)] = NEWOBJECT("frmdemo")
    aoForms[ALEN(aoForms)].SHOW
    RETURN

    PROCEDURE CloseDemo
    CLEAR EVENTS
    RETURN

DEFINE CLASS frmdemo AS FORM
    CAPTION = "Demo Form"
    NAME = "frmDemo"

    ADD OBJECT cmdClose AS COMMANDBUTTON WITH ;
        TOP = 200, ;
        LEFT = 264, ;
        HEIGHT = 27, ;
        WIDTH = 84, ;
        CANCEL = .T., ;
        CAPTION = "Close", ;
        DEFAULT = .T., ;
        NAME = "cmdClose"

    PROCEDURE cmdClose.CLICK
    m.nOKButton=0
    m.nInfo=64
    =MESSAGEBOX("After this Form closes, select Exit from the menu to return to the Command Window",m.nInfo+m.nOKButton)
    THISFORM.RELEASE
ENDPROC

    PROCEDURE RELEASE
    LOCAL m.nIndex
    FOR m.nIndex = 1 TO ALEN(aoForms)
        IF VARTYPE(aoForms[m.nIndex])=="O"
            IF aoForms[m.nIndex]=THIS
                aoForms[m.nIndex] = ""
                EXIT
            ENDIF
        ENDIF
    ENDFOR
ENDPROC
ENDDEFINE

См. Также

Прочие Ресурсы