Description
Selects the word containing the insertion point in a RichTextEdit control.
Applies to
RichTextEdit and DataWindow controls
Syntax
rtename.SelectTextWord ( )
Argument |
Description |
---|---|
rtename |
The name of the RichTextEdit or DataWindow control in which you want to select a word. The DataWindow object in the DataWindow control must be a RichTextEdit DataWindow. |
Return value
Integer.
Returns the number of characters selected if it succeeds and -1 if a word cannot be selected or an error occurs.
Usage
A word is any group of alphanumeric characters. A word can include underscores and single quotes but does not include punctuation and special characters such as $ or #. If punctuation or special characters follow the selected word, they are not selected.
If the character after the insertion point is a space, punctuation, special character, or end-of-line mark, SelectTextWord does not select anything and returns -1.
Examples
The following statement selects the word containing the insertion point:
rte_1.SelectTextWord()
This example selects the word at the insertion point. If there is no word, it increments the position until it finds a word. It checks when it reaches the end of a line and wraps to the next line as it looks for a word. If this script is assigned to a command button and the button is clicked repeatedly, you step through the text word by word:
integer li_rtn long llstart, lcstart, ll_lines, ll_chars ll_lines = rte_1.LineCount() ll_chars = rte_1.LineLength() li_rtn = rte_1.SelectTextWord() // -1 if a word is not found at the insertion point DO WHILE li_rtn = -1 // Get the position of the cursor rte_1.Position(llstart, lcstart) // Increment by 1 to look for next word lcstart += 1 // If at end of line move to next line IF lcstart >= ll_chars THEN lcstart = 1 // First character llstart += 1 // next line // If beyond last line, return IF llstart > ll_lines THEN RETURN 0 END IF END IF // Set insertion point rte_1.SelectText(llstart, lcstart, 0, 0) // In case it's a new line, get new line length // Can't do this until the ins pt is in the line ll_chars = rte_1.LineLength( ) // Select word, if any li_rtn = rte_1.SelectTextWord() LOOP // Add code here to process the word (for example, // passing the word to a spelling checker)
See also