How To Place a Caret After Edit-Control Text (12190)
The information in this article applies to:
- Microsoft Platform Software Development Kit (SDK) 1.0
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.
Modification Type: | Minor | Last Reviewed: | 7/11/2005 |
---|
Keywords: | kbCtrl kbEditCtrl kbhowto KB12190 |
---|
|