Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.16;
Скачать: CL | DM;

Вниз

Memo Mouse Move   Найти похожие ветки 

 
ДмитрийВ   (2002-05-03 19:51) [0]

как коректно определить номер строки над которой сейчас находится курсор в Memo?
я делал вот так
procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
k,j,i : integer;
begin
i:=round(Y/(Memo1.Font.Size));
k:=0;
if i>0 then
begin
for j:=0 to i-1 do k:=k+Length(Memo1.Lines[j])+2;
Memo1.SelStart:=k;
Memo1.SelLength:=Length(Memo1.Lines[i]);
end;
end;
строку выделяет, но не ту над которой курсор, а на одну две ниже (чем ниже идешь тем больше разрыв). Вот. я пытался вводить коэффициент к font.size, выровнелось, но только если идти с верху вниз, если наоборот то опережает курсор. вообщем помогите, пожайлуста.


 
Набережных С.   (2002-05-04 19:45) [1]

Номер линии:

LineNo:=HiWord(Memo1.Perform(EM_CHARFROMPOS,0,MakeLParam(x,y)));

Если потребуется номер символа в строке, то посмотри реализацию TMemo.GetCaretPos.



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

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

Наверх




Память: 0.46 MB
Время: 0.012 c
7-50140
ut1wpr
2002-02-17 16:26
2002.05.16
Получить адреса портов из BIOSa ?


14-50102
lipskiy
2002-04-06 00:21
2002.05.16
Кто пользовался программой Business Market Viewer?


1-49902
BJValentine
2002-04-29 22:28
2002.05.16
Конструктор


1-49979
ymin
2002-04-22 11:42
2002.05.16
Вопрос


1-50026
Malder
2002-05-01 11:00
2002.05.16
Какие события при смене MDIChild окон ?