Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Shake your... cursor |
Автор: Phantom 26.8.2003, 22:00 |
Подскажите как установить курсор (каретку) в нужное мне место в обьекте Edit? |
Автор: mr.DUDA 26.8.2003, 22:08 | ||
С помощью метода CEdit::SetSel(posStart, posEnd, bNoScroll):
|
Автор: RAN 26.8.2003, 22:17 |
Посылается сообщение EM_SETSEL, выделяющая фрагмент текста. wParam = (WPARAM) (INT) nStart; //стартовая позиция lParam = (LPARAM) (INT) nEnd; //конечная позиция Фокус в том, что wParam = lParam = <позиция>; и таким образом ничего не выделяется, а курсор оказывается в заданной позиции. |
Автор: mr.DUDA 26.8.2003, 22:23 |
ЗЫ, именно это я и предлагаю, только на MFC, и без сообщений ![]() |
Автор: RAN 26.8.2003, 22:26 |
Оффтопик: mr.DUDA, не раз говорилось о том, что часто ответы пишутся одновременно. Так что мой мог оказаться выше, но ты был первым. My congratulations ![]() |
Автор: Phantom 26.8.2003, 22:27 |
Вот теперь бы ещё понять как послать сообщение ![]() |
Автор: RAN 26.8.2003, 22:31 |
HRESULT hr = SendMessage( <дескриптор edit'а>, EM_SETSEL, wParam, lParam); Если в диалоге, то можно SendDlgItemMessage( <дескриптор диалога>, <ID Edit'а>, EM_SETSEL, wParam, lParam); |
Автор: mr.DUDA 26.8.2003, 22:35 | ||||
Phantom, если решил делать ч/з сообщения, то так:
И не забудь поставить фокус ввода на окно Edit'а, если до этого его там не было ![]()
ЗЫ, теперь я второй ![]() RAN, ты будешь специалистом по WinAPI, я устраняюсь ![]() |