Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно отслеживать перемещение курсора в Memo? [D7]


Wolfram ©   (2005-10-31 20:21:00) 

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


Wolfram   (2005-10-31 21:34:00) [1]

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


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

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решает


Наверх

Титульная страница Поиск, карта сайта Написать письмо