Knowledge Base |

# How To Place a Caret After Edit-Control Text

Article ID: 12190

Article Last Modified on 7/11/2005

APPLIES TO

- Microsoft Platform Software Development Kit-January 2000 Edition

This article was previously published under Q12190

## SUMMARY

The EM_SETSEL message can be used to place a selected range of text in a Windows edit control. If the starting and ending positions of the range are set to the same position, no selection is made and a caret can be placed at that position. To place a caret at the end of the text in a Windows edit control and set the focus to the edit control, do the following:

       hEdit = GetDlgItem( hDlg, ID_EDIT );    // Get handle to control.
       SetFocus( hEdit );
       SendMessage( hEdit, EM_SETSEL, 0, MAKELONG(0xffff,0xffff) );

It is also possible to force the caret to a desired position within the edit control. The following code fragment shows how to place the caret just to the right of the Nth character:

       hEdit = GetDlgItem( hDlg, ID_EDIT );    // Get handle to control.
       SetFocus( hEdit );
       SendMessage( hEdit, EM_SETSEL, 0, MAKELONG(N,N) );
                                            // N is the character position.

Keywords: kbhowto kbeditctrl kbctrl KB12190