15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как в 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 это позиция символа.