Microsoft KB Archive/110119

{| = BUG: Pressing INS, DEL, HOME, or END Key Causes Cursor to Jump =
 * width="100%"|

ID: Q110119

The information in this article applies to:


 * Microsoft FoxPro for MS-DOS, versions 2.5a, 2.5b, 2.60a

SYMPTOMS
Pressing the INS, DEL, HOME, or END key when the currently selected object is a popup (selected but not activated) will cause the cursor to jump to the first check box object in the active window.

Pressing the INS, DEL, HOME, or END key from a radio button or other push button set will cause the cursor to jump to the first push button set defined on the screen and execute the push button's VALID clause.

This behavior does not occur in FoxPro 2.0 or 2.5 for MS-DOS.

Popups
See "Example 1 - (Popup)" below.

To resolve the problem demonstrated in Example 1, you must redefine or disable these keys through the ON KEY LABEL command.

Push Buttons
See "Example 2 - (Push Button)" below.

To resolve the problem demonstrated in Example 2, either make the same changes as for Example 1 or define a hot key ("\<") for each push button prompt.

STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Steps to Reproduce Problem
Example 1 - (Popup):

Run the following program, and from the selected popup object press the DEL, INS, HOME, or END key. The cursor will jump to the "Check Box 1" object. Please note that the keys behave as expected if the popup is activated.)

* PopKey.prg CLEAR STORE version TO xver CREATE TABLE puTest ; (company C(35), contact C(20), cb1 N(1), cb2 N(1)) INSERT INTO puTest ; values ("1st Data Reductions", "Tom Mix", 0, 1) SCATTER MEMVAR

DEFINE WINDOW wrPuTest ; FROM INT((SROW-24)/2),INT((SCOL-45)/2) ; TO INT((SROW-24)/2)+23,INT((SCOL-45)/2)+44 ; TITLE "&xver" ; FLOAT ; NOCLOSE ; SHADOW ; NOMINIMIZE ; DOUBLE ; COLOR SCHEME 5

ACTIVATE WINDOW wrPuTest NOSHOW @ 2,3 GET m.pb1 ; PICTURE "@^ \<One;\<Two;T\<hree;\<Four;F\<ive;\<Six" ; SIZE 3,9 ; DEFAULT "One" ; COLOR SCHEME 5, 6 @ 6,3 GET m.company ; SIZE 1,35 ; DEFAULT " " @ 8,3 GET m.contact ; SIZE 1,20 ; DEFAULT " " @ 19,3 GET m.cb1 ; PICTURE "@*C Check Box 1" ; SIZE 1,16 ; DEFAULT 0 @ 19,21 GET m.cb2 ; PICTURE "@*C Check Box 2" ; SIZE 1,16 ; DEFAULT 0 IF NOT WVISIBLE("wrPuTest") ACTIVATE WINDOW wrPuTest ENDIF READ CYCLE

RELEASE WINDOW wrPuTest CLOSE DATABASES ERASE puTest.dbf Example 2 - (Push Buttons): Run the following program and press TAB to move to the radio button set or the second push button set. Press the DEL, INS, HOME, or END key. The cursor will jump to the first push button set.

* PBTEST.SPR CLEAR STORE VERSION TO xver IF SET("TALK") = "ON" SET TALK OFF m.talkstat = "ON" ELSE m.talkstat = "OFF" ENDIF IF NOT WEXIST("wrpbtest") DEFINE WINDOW wrpbtest ; FROM INT((SROW-12)/2),INT((SCOL-25)/2) ; TO INT((SROW-12)/2)+11,INT((SCOL-25)/2)+24 ; TITLE "&xver" ; FLOAT ; NOCLOSE ; SHADOW ; NOMINIMIZE ; DOUBLE ; COLOR SCHEME 5 ENDIF

IF WVISIBLE("wrpbtest") ACTIVATE WINDOW wrpbtest SAME ELSE ACTIVATE WINDOW wrpbtest NOSHOW ENDIF @ 1,4 GET m.f2 ; SIZE 1,10 ; DEFAULT " " @ 2,4 GET m.pb1 ; PICTURE "@*HN One;Two" ; SIZE 1,7,1 ; DEFAULT 1 ; VALID _qlx0uojlv @ 3,4 GET m.f1 ; SIZE 1,10 ; DEFAULT " " @ 4,4 GET m.rb1 ; PICTURE "@*RVN Four;Five;Six" ; SIZE 1,8,0 ; DEFAULT 1 @ 7,4 GET m.f3 ; SIZE 1,10 ; DEFAULT " " @ 8,4 GET m.pb2 ; PICTURE "@*HN Eight;Nine" ; SIZE 1,7,1 ; DEFAULT 1 ; VALID _qlx0uojtm IF NOT WVISIBLE("wrpbtest") ACTIVATE WINDOW wrpbtest ENDIF

READ CYCLE RELEASE WINDOW wrpbtest IF m.talkstat = "ON" SET TALK ON  ENDIF

FUNCTION _qlx0uojlv    &&  m.pb1 VALID #REGION 1 WAIT WINDOW "Push Button 1 Valid.."

FUNCTION _qlx0uojtm    &&  m.pb2 VALID #REGION 1 WAIT WINDOW "In Push Button 2 Valid" Additional reference words: FoxDos buglist2.50a buglist2.50b buglist2.60a pop up checkbox 2.50a 2.50b 2.60a KBCategory: kbui kbprg kbbuglist KBSubcategory:
 * }