Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Позиция каретки в Edit контроле.


Автор: Dogo 21.7.2007, 08:48
Можно ли каким либо образом получить текущую позицию каретки в Edit'е без использования функции GetCaretPos(). Хотелосьбы каким-то образом получить индекс текущего введеного символа в текущей строке.

Автор: ivan219 21.7.2007, 15:07
Код

void __fastcall TForm1::Edit1Change(TObject *Sender)
{
 Caption = IntToStr(Edit1 -> SelStart);
}

Автор: Dogo 21.7.2007, 16:20
На сколько я понимаю это MFC. Если пользоваться только средствами API предположим, диспользуется Borland C++, в котором нет MFC...

Автор: zkv 21.7.2007, 16:50
Цитата(Dogo @  21.7.2007,  16:20 Найти цитируемый пост)
На сколько я понимаю это MFC.  

это не MFC, судя по всему VCL, что и есть Билдер  smile 

Автор: CMD 21.7.2007, 17:27
Цитата

Можно ли каким либо образом получить текущую позицию каретки в Edit'е без использования функции GetCaretPos(). 

Нет, она для того и существует. Насколько я понял тебе ненравиться то, что она возвращает координаты.
Цитата

Хотелосьбы каким-то образом получить индекс текущего введеного символа в текущей строке. 

Для этого надо сначало определить координаты каретки GetCaretPos(), а потом используя их отправляй сообщение http://msdn2.microsoft.com/en-us/library/ms672066.aspx для получения индекса символа.

Автор: jonie 21.7.2007, 19:56
а можно субклассировать окно ввода и считать че и сколько юзер ввел (но с мышой тоже чет надо делать будет...)...

Автор: Dogo 1.8.2007, 22:51
CMD, спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)