Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.27;
Скачать: 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 вся ветка

Текущий архив: 2005.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
2-1131624440
ВоваВова
2005-11-10 15:07
2005.11.27
Запуск программы в одном экземпляре


14-1131371645
LordOfRock
2005-11-07 16:54
2005.11.27
Линейная алгебра


1-1130848909
kyn66
2005-11-01 15:41
2005.11.27
Соединение с Интернет.


14-1130924024
stone
2005-11-02 12:33
2005.11.27
ОЕМ-версия


14-1131293554
Shopot
2005-11-06 19:12
2005.11.27
Что такое "ИМХО"?