PRB: Unexpected SelStart Property Behavior in Grid's Textbox

Last reviewed: July 28, 1995
Article ID: Q132366
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0

SYMPTOMS

When you press the TAB key to move into a grid's text box, the insertion point is placed at the beginning of the field instead of at the end of the field even though the Grid1.Column1.SelectOnEntry property is set to false (.F.), and the Grid1.Column1.Text1.GotFocus event contains this code:

   THIS.SelStart = LEN(ALLTRIM(THIS.Value))

CAUSE

The insertion point is always placed at the beginning of the text in row one, column one (R1C1) of the grid when you move to the grid from another object. This is by design.

The text box in the grid column handles resetting the selection or select-on-entry in its default GotFocus method. The grid column tells the text box about its SelectOnEntry property.

WORKAROUND

Add the code shown in the "Example Workaround" section of this article.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Issue the following commands in the Command window:

    USE SYS(2004)+"samples\data\customer" CREATE FORM test

  2. Add a text box to the form.

  3. Add a grid to the form, and set the following properties:

    ColumnCount = 2 Column1.SelectOnEntry = .F.

  4. In the Grid1.Column1.Text1.GotFocus event, type this code:

    THIS.SelStart = LEN(ALLTRIM(THIS.Value))

  5. Save and run the form.

  6. Press the TAB key to move from the text box to the grid.

The insertion point is placed at the beginning of the text in row one, column one (R1C1) of the grid.

Example Workaround

To place the insertion point at the end of the text, do the following:

  1. Issue this command:

    MODIFY FORM test

  2. In Grid1.Column1.Text1.GotFocus event, type these commands:

    Textbox::GotFocus NODEFAULT THIS.SelStart = LEN(ALLTRIM(THIS.Value))

  3. Save and run the form.

  4. Press the TAB key to move from the text box object to the grid object. The insertion point is placed at the end of the text in R1C1 of the grid.


Additional reference words: 3.00 VFoxWin selection
KBCategory: kbui kbprb
KBSubcategory: FxotherGeneral


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: July 28, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.