PRB: OCX Visible on All Pageframe Pages After Modal Form RunsID: Q145892 3.00 3.00b WINDOWS kbtool kbprb The information in this article applies to:
SYMPTOMSIf a modal form is brought up over a form that contains an OLE Container Control on a page of a pageframe, when the modal form is closed, the OLE Container Control will be visible even when the page that contains it is not active.
WORKAROUNDFor the form that runs atop the form with the OLE Container Control, set the WindowType property to 0 - Modeless. -or- In the Deactivate code for the pages that contain OLE Container Controls, move the OLE Container Control object off the page by setting its Left property to a high value. Move the object back to its proper position in the Activate code of the page.
STATUSMicrosoft is researching this behavior and will post new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
Steps to Reproduce Behavior1. Create a form called Mainform. 2. Add a command button and place the following code in its Click event:
3. Add a Pageframe.
4. Add an OLE Container Control (such as Outline.ocx) to each of the two 5. Save the form.
6. Create a form called Modalfrm, and set its WindowType property to 1 - 7. Run Mainform, and press the command button to bring up Modalfrm over
8. Exit the modal form.
9. Both of the Outline controls will be visible on the active page of the
Notes1. If each of the pages are activated, the OLE Container Controls will 2. This does not occur if the form brought on top is not modal.
Workaround OneSet the WindowType to 0 - Modeless for any forms brought up over forms that have OLE Container Controls on inactive pages.
Workaround TwoThe following workaround moves the OLE Container Controls that are on inactive pages to a place outside the form boundaries, so modal forms can be used. For the form that holds the pageframe with pages containing OLE Container Control objects, perform these steps: 1. In the Init code of each of the OLE Container Controls, place:
2. In the Activate code of each page, place:
3. In the Deactivate code of each page, place:
Each OLE Container Control will now be visible only when it is on the
active page.
Additional reference words: 3.00 3.00b VFoxWin KBCategory: kbtool kbprb KBSubcategory: FxtoolFormdes
|
Last Reviewed: February 13, 1996 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |