Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Determining row/col pixel position of text cursor in con
Message
De
30/10/2001 17:06:37
 
 
À
30/10/2001 15:28:05
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00575285
Message ID:
00575345
Vues:
23
This message has been marked as a message which has helped to the initial question of the thread.
>Is there a way to determine the row and column pixel position of the text cursor in an input control such as a text box, edit box, or combo box?
>
>We would like to be able to popup a small 'smart tag' like form in our edit boxes when we detect certain text patterns. Ideally we would like to popup this 'smart tag' like form relative to the position of the text cursor.
>
>Any help or insights appreciated!
>Malcolm

For controls which display one row of data, such as a text or combo, you have the control's location. You can use the control's .SelStart property to find out the character position of the cursor, extract the characters up to that point. A combination of TXTWIDTH() (returning the length in characters) and FONTMETRIC(6) (returning the length in pixels) to get a very close approximation.

I don't know of a way of determining exactly what row and column position a cursor resides on in an edit box. You can calculate pretty close by using the control's size, and FontMetric. The length in pixels you can approximate with TXTWIDTH and FONTMETRIC (6). For the height you need to factor in the character size as well as regular and special leading (FONTMETRIC (1) + FONTMETRIC (4) + FONTMETRIC (5)).

Divide the text width in pixels by the control's width to get the integer line number. Line numbers times height gives the distance from the top of the control. The Mod of the text width dividec by the control's width can be used to provide a percentage of the width to locate your popup.

HTH,

Jay
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform