References the active Form object in a form set or the _SCREEN object. Not available at design time; read-only at run time.
Object.ActiveForm.Property [ = Setting] -or- Object.ActiveForm.Method |
Return Value
- Property
- Specifies any property of the active form contained in the form set; for example, the Caption property.
- Setting
- The existing or new setting of the Property.
- Method
- Specifies any method of the active form contained in the form set; for example, the Move method.
Remarks
Applies To: Form Object | FormSet Object | _SCREEN System Variable
If the containing FormSet object is active, ActiveForm references the Form object that has the focus. If the containing FormSet object is not active, an error occurs.
Use the ActiveForm property to access the active Form object's properties and methods.
Example
This example shows how the ActiveForm property may be used within a menu to enable opening and closing a form. When running this sample, note that the Close menu item in the Window menu pad is only enabled if there is an open form. This behavior is controlled by the SKIP FOR clause in bar 1 of the Wwindow popup, which checks to see if a form is active by testing whether the Name of the form is of the character type. The Name property will be character type if there is an active form; otherwise, the property will be undefined.
В | Copy Code |
---|---|
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 |