Указывает активный объект 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 |