Вниз
Скачать: CL | DM;

Как правильно отслеживать перемещение курсора в Memo?   Найти похожие ветки 

 
Wolfram ©   (2005-10-31 20:21) [0]

У меня есть ряд программ, использующих компонент TMemo. В строке состояния я показываю позицию курсора в редакторе. Естественно, мне нужно постоянно отслеживать перемещение курсора. Сделать это неудобно через события компонента, т.к. надо слишком много событий обрабатывать: нажатие любой клавиши, щелчки мыши, перемещение мыши, изменение текста (OnChange). Есть ли более простой способ следить за курсором в Memo?


 
Dmitrij_K   (2005-10-31 21:14) [1]

procedure CaretPos(H: THandle; var L,C : Word);  
begin  
 L := SendMessage(H,EM_LINEFROMCHAR,-1,0);  
 C := LoWord(SendMessage(H,EM_GETSEL,0,0)) - SendMessage(H,EM_LINEINDEX,-1,0);  
end;  

procedure TForm1.Button1Click(Sender: TObject);  
var  
 LineNum,ColNum : Word;  
begin  
 CaretPos(Memo1.Handle,LineNum,ColNum);  
 Edit1.Text := IntToStr(LineNum) + "  " + IntToStr(ColNum);  
end;

DRKB решает


 
Wolfram ©   (2005-10-31 21:34) [2]

Это совсем не то, что мне нужно. Я знаю как узнать позицию курсора (кстати, можно проще :) ), я не хочу делать миллион процедур для обработки событий. Короче, мне нужно знать, когда когда курсор изменил свою позицию.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.041 c
6-1123138472
The Phantom of The Opera
2005-08-04 10:54
2005.11.27
Скачивание с докачкой


14-1131458680
Рамиль
2005-11-08 17:04
2005.11.27
Я плакал :-D (цитатник рунета)


14-1131377576
ZLOFENIX
2005-11-07 18:32
2005.11.27
The Вопрос


3-1129265006
kvi
2005-10-14 08:43
2005.11.27
ограничение на число полей в таблицах paradox


2-1131686638
Bradobrei
2005-11-11 08:23
2005.11.27
рисунок с текстом




   Наверх