Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
1-50029
MisterBin
2002-05-01 15:15
2002.05.16
как бы фильтр в ListBox e


4-50165
ebeden
2002-03-15 03:12
2002.05.16
Internet Explorer


1-49921
MMA
2002-05-03 13:55
2002.05.16
Копирование файла


4-50180
chernoruk
2002-03-16 22:20
2002.05.16
Вопрос: Get Process ID (path to a file.exe) ????????????


1-50008
Юляша
2002-04-30 20:59
2002.05.16
Установка библиотеки компонент.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский