| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Текст слева от каретки. |
| Автор: hitter 1.4.2006, 20:04 |
| Как получить слово начало которого текущее положение каретки в поле ввода, а конец первый пробел. Хендл уже известен. |
| Автор: Sunvas 2.4.2006, 00:44 | ||
А че ж тут трудного то??
|
| Автор: Yanis 2.4.2006, 21:19 |
| На основе этого получи текст окна, текст каретки и уже в своей программе используй этот код. |
| Автор: Yanis 2.4.2006, 21:41 |
| К стати, тебе точно нужно именно слева от каретки? |
| Автор: hitter 3.4.2006, 11:00 | ||
Объясняю -
Так надо получить слово "вводится", ну и так по принципу. |
| Автор: Romikgy 3.4.2006, 14:00 | ||
Работает , но незнаю насколько точно , т.к. GetTextExtentPoint32 и GetCaretPos возвращают разные значения для одних и тех же строк, корочей попробуй в эдит1 строка с курсором в эдит2 ответ слово левее курсора |
| Автор: Yanis 3.4.2006, 15:41 |
| Просто ты определись. Сначала говоришь, что нужен текст слева от каретки, потом говоришь, что каретка стоит в начале слова и тебе нужно его получить |
| Автор: hitter 3.4.2006, 19:32 | ||
Извиняюсь просто сразу не прикинул, ну я думаю теперь понятно! Добавлено @ 19:34 Romikgy, сейчас попробую, может работает? |
| Автор: hitter 4.4.2006, 10:31 | ||
Помоему работает, но нету обработки на ошибки, прикрутил несколько проверок! Если в едит1 стереть весь текст вылетает ошиба, - исправлено. Еще поработаю , и выложу что получилось! |
| Автор: hitter 4.4.2006, 11:59 |
| Проверил работает-ли с Memo, нет не работает! Отображает текст только верхней строчки! А как изменить чтобы получал даже в мемо? |
| Автор: Romikgy 4.4.2006, 14:21 | ||
работает с любым наследником эдитов Добавлено @ 14:22 в чар сет добавь русские буквы если надо |
| Автор: hitter 4.4.2006, 20:32 |
| Опять мы уходим не в ту сторону! Как то надо сделать универсальный способ получения этого текста! Не зацЫкленый на наследниках едита! Есть идея и соответствующий вопрос - может создать Тред и прикрутить его ко всем процессам, и с помощью его контролировать ввод и вывод? Способ по теории должен работать в любом месте ввода текста, где есть каретка! Есть идеи? Может даже намёки? |
| Автор: Yanis 5.4.2006, 00:01 | ||
А если каретка нарисована, то работать уже небудет. Т.е. она и в стандартных Edit'ах нарисована, но есть функции для получения информации о каретке для работы с этими контролами. Если же я сам буду отрисовывать каретку, то у тебя ничего не выйдет |
| Автор: Romikgy 5.4.2006, 08:40 |
| hitter, ты б определился где те надо брать курсор, а потом спрашивал бы, т.к. имхо нет, если б был давно был бы в DRKB |
| Автор: hitter 5.4.2006, 11:51 | ||||
Объясняю - зарегана hotkey , при нажатии на нее прога определяет хендл поля ввода -
Потом нада получить текст рядом с кареткой, до пробела! Ну может сильно ГРОМКО сказал, ну действующий по крайней мере в большинстве полей ввода, и редактирования!
А это не кто не думал над этим? |