PRB: Page Activate Event Does Not Set Focus to Different Page

Last reviewed: November 27, 1996
Article ID: Q160061
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 5.0

SYMPTOMS

Using the Activate event of a Page in a PageFrame to set focus to a different page does not work.

WORKAROUND

To work around this problem, disable all pages except the one that is to have focus. For example, in the Deactivate event of the first page place the following code:

   This.Parent.Page1.Enabled = .F.
   This.Parent.Page2.Enabled = .F.
   This.Parent.Page3.Enabled = .F.
   This.Parent.Page4.SetFocus

This code disables all the other pages in the PageFrame and sets the focus to the remaining active page, Page 4 in this case. Since this code is in the Deactivate event of the prior page, no problems occur.

STATUS

Microsoft is researching this behavior and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Using the NODEFAULT keyword does not produce the intended behavior. However, the addition of the NODEFAULT keyword to the Activate event causes the behavior of the examples below to differ.

Steps to Reproduce Behavior

  1. Create a Form that contains a PageFrame object.

  2. Change the PageCount property in the PageFrame to 4.

  3. In the Activate of Page2, place the following code:

          This.Parent.ActivePage=4
          This.Parent.Page4.SetFocus
          NODEFAULT  && This line is optional.
    

  4. Run the Form and use the Right Arrow key to move to Page2 of the PageFrame.

If the NODEFAULT keyword is in the Activate event, the first time you use the Right Arrow key to move to Page2, Page4 briefly gains focus, then focus returns to Page2. If you use the Right Arrow key to traverse pages, each time Page2 gets focus from the Right Arrow key, the focus is directed to Page4 correctly.

If NODEFAULT is removed from the above example, focus is never directed to Page4 after activating Page2. Moving from page to page behaves as if no code exists in the Activate event.


KBCategory: kbprg kbprb
KBSubcategory: FxprgGeneral
Additional reference words: 5.00 kbdsd VFoxWin



THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 27, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.