Позиция каретки поля TEdit
Добавлено: 28.04.2012 12:20:07
Добрый день, помогите разобраться. Вроде уже не новичок, но с таким сталкиваюсь впервые.
В общем, допустим создали новую форму, разместили поле редактирования, на кейдаун прописали вот такое
Не могу понять - как правильно определить позицию курсора в поле. SelStart дает тоже самое. К примеру, если курсор стоит вначале поля, то значение равно 1, нажимаем еще раз влево и значение принимает 0, жмем вправо - курсор моргает уже после первого символа, а значение все равно 0, далее вправо, значение увеличивается как нужно. В общем, путаница полная. Аналогичная ситуация с перемещением курсора в конец поля. Кто-нибудь может помочь и разъяснить такой нубский вопрос?
В общем, дожили, не могу правильно определить позицию курсора...
В общем, допустим создали новую форму, разместили поле редактирования, на кейдаун прописали вот такое
- Код: Выделить всё
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
);
begin
caption := IntToStr(Edit1.CaretPos.x)
end;
Не могу понять - как правильно определить позицию курсора в поле. SelStart дает тоже самое. К примеру, если курсор стоит вначале поля, то значение равно 1, нажимаем еще раз влево и значение принимает 0, жмем вправо - курсор моргает уже после первого символа, а значение все равно 0, далее вправо, значение увеличивается как нужно. В общем, путаница полная. Аналогичная ситуация с перемещением курсора в конец поля. Кто-нибудь может помочь и разъяснить такой нубский вопрос?
В общем, дожили, не могу правильно определить позицию курсора...