Как в Edit-Control поместить каретку после текста

Чтобы поместить выделенный кусок текста в edit control, можно использовать сообщение EM_SETSEL.

Если начальная и конечная позиции выделенного текста совпадают, то каретка просто помещается в эту позицию. Чтобы поместить каретку в конец текста edit control и установить на него фокус, проделайте следующее:

 hEdit = GetDlgItem( hDlg, ID_EDIT ); // Получаем дескриптор контрола.
SetFocus( hEdit );
SendMessage( hEdit, EM_SETSEL, 0, MAKELONG(0xffff,0xffff) );

Так же можно заставить каретку переместиться в нужную позицию в edit control. Следующий фрагмент кода показывает, как разместить каретку справа от N-го символа:

 hEdit = GetDlgItem( hDlg, ID_EDIT ); // Получаем дескриптор контрола.
SetFocus( hEdit );
SendMessage( hEdit, EM_SETSEL, 0, MAKELONG(N,N) );
// N это позиция символа.

 

 
« Предыдущая статья   Следующая статья »