Creating Hot Keys for Objects Other Than Push Buttons

Last reviewed: April 30, 1996
Article ID: Q114185
The information in this article applies to:
  • Microsoft FoxPro for Windows, versions 2.5x, 2.6x
  • Microsoft FoxPro for MS-DOS, versions 2.5x, 2.6x
  • Microsoft FoxPro for Macintosh, versions 2.5x, 2.6a

SUMMARY

In the Screen Builder, hot keys (also known as access keys) can be assigned to push buttons. However, the Screen Builder does not provide a built-in process for assigning hot keys to other screen GET objects, such as fields, popups, list boxes, and so on.

The information below describes how to create hot keys for GET objects other than push buttons by using the ON KEY LABEL statement, the _CUROBJ system variable, and the OBJNUM() function.

NOTE: In Visual FoxPro for Windows, use the ActiveControl form property instead of _CUROBJ and OBJNUM().

MORE INFORMATION

Overview

  1. Use the Line Drawing tool to simulate the underline of a character (the underline font style is not supported in the Screen Builder). Select the Line Drawing tool from the toolbox. Place a short line under the letter in the field description that will be used in the hot key.

  2. In the SETUP snippet of the screen, place an ON KEY LABEL <ALT+key> _curobj = OBJNUM(object) command. This commmand instructs FoxPro to jump to the object when the hot key is pressed.

  3. Place a POP KEY command in the CLEANUP code of screen to clear the ON KEY LABEL commands.

NOTES

If you are using memory variables in conjunction with SCATTER and GATHER commands in the GET fields, remember to include the "m." (without the quotation marks) alias with the field names.

The POP KEY command clears all ON KEY LABEL settings. If you are using F1 for help, add another ON KEY LABEL command to reassign the F1 key. Similarly, restore any other needed ON KEY LABEL statements needed. (Alternatively, investigate using the PUSH KEY command in the SETUP snippet to store the original ON KEY LABEL assignments).

Example Using <Foxpro_Directory>\TUTORIAL\CUSTOMER.DBF

  1. Assuming FoxPro is installed in a directory named FOXPROW on drive C, type the following commands in the Command window:

    USE C:\FOXPROW\TUTORIAL\CUSTOMER CREATE SCREEN test

  2. From the Screen menu, choose Quick Screen.

  3. In the Quick Screen dialog box, choose Fields.

  4. Move the CNO and COMPANY fields to the Selected Fields list box. Choose OK twice to return to the Screen Design window.

  5. Select the Line Drawing tool from the toolbox. Place a line under the letter "C" of the text object "Cno," which is located to the left of the GET field for CNO. (In FoxPro for MS-DOS, choose Box from the Screen menu. Size the box so that it appears as a line.)

  6. Select the Line Drawing tool again. Place a line under the letter "o" of the text object "Company," which is located to the left of the GET field for COMPANY. (In FoxPro for MS-DOS, choose Box from the Screen menu. Size the box so that it appears as a line.)

  7. From the Screen menu, choose Layout.

  8. Under Options, choose Code. (In FoxPro for MS-DOS, do not select anything--go directly to the next step.)

  9. Under Screen Code and Clauses, choose Screen Setup Code, and then choose Cleanup and Procedures. Choose OK twice. (In FoxPro for MS- DOS, under Screen Code, choose Setup. Then choose Cleanup and Procedures. Choose OK once.)

  10. In the Setup snippet window, type the following:

    ON KEY LABEL ALT+C _curobj = OBJNUM(CUSTOMER.CNO) ON KEY LABEL ALT+O _curobj = OBJNUM(CUSTOMER.COMPANY)

  11. Close the Setup snippet window, saving changes.

  12. In the Cleanup snippet window, type the following:

    POP KEY && Clear all ON KEY LABEL statements ON KEY LABEL F1 HELP && Restore F1 to Help

  13. Close the Setup snippet window, saving changes.

  14. From the Program menu, choose Generate.

  15. When prompted to save changes to the screen, choose Yes.

  16. When prompted to save environment information, choose Yes.

  17. In the Generate Screen dialog box, choose Generate.

  18. Close the Screen Design window.

  19. In the Command window, type "DO test.spr" (without the quotation marks).

Press ALT+O. Note that this selects the COMPANY GET field. Now press ALT+C. This selects the CNO GET field.

For additional information on creating hot keys in Visual FoxPro, please see the following article(s) in the Microsoft Knowledge Base:

    ARTICLE-ID:Q128752
    TITLE     :How to Use Hot Keys in Visual FoxPro


Additional reference words: FoxMac FoxDos FoxWin 2.50 2.50a 2.50b 2.50c
2.60 2.60a hotkey hotkeys short cut shortcut
KBCategory: kbtool kbprg
KBSubcategory: FxtoolSbuilder


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: April 30, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.