Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2008, 11:25   #1
yaver
Пользователь
 
Регистрация: 28.01.2008
Сообщений: 15
По умолчанию Как определить индекс линии Memo, где стоит курсор?

Как определить индекс линии Memo, где стоит курсор?
Можно ли узнать индекс линии Memo при наведении на нее курсора мыши?
yaver вне форума Ответить с цитированием
Старый 15.11.2008, 11:49   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Как узнать местонахождение курсора в TMemo.

Для этого можно использовать messages EM_LINEFROMCHAR and EM_LINEINDEX из Windows API:

{любая функция или процедура}
var
LineNum: longint;
CharsBeforeLine: longint;
begin
LineNum := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, Memo1.SelStart,0);{посылка сообщения, возвращающая номер строки}
CharsBeforeLine := SendMessage(Memo1.Handle, EM_LINEINDEX, LineNum, 0));{посылка сообщения, возвращающая номер столбца}
Label1.Caption := 'Line ' + IntToStr(LineNum +1);{вывод номера строки}
Label2.Caption := 'Position ' + IntToStr((Memo1.SelStart -CharsBeforeLine) + 1);{вывод номера столбца}
end;

*********************************** ****************************

Как определить, на какой строке в TMemo находится курсор?

Весь фокус в сообщении em_LineFromChar. Попробуйте:

procedure TMyForm.BitBtn1Click(Sender: TObject);
var
iLine : Integer ;
begin
iLine := Memo1.Perform(em_LineFromChar, $FFFF, 0);
{ Внимание: номера строк начинаются с нуля }
messageDlg('Line Number: ' + IntToStr(iLine), mtInformation, [mbOK], 0 ) ;
end;
Это взято из справочника, указанного в моей подписи.
А вы до сих пор его себе не скачали?
mihali4 вне форума Ответить с цитированием
Старый 16.11.2008, 17:29   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Caretpos F1
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить где находиться курсор в ТстрингГрид IgorKr Компоненты Delphi 6 11.07.2008 00:48
Как мне в tListView выелить item зная индекс Altera Общие вопросы Delphi 2 15.05.2008 06:23
В Memo ввёл раз!!! в Memo ввёл два!!! а где Memo ввёл раз??? Хs-You Компоненты Delphi 6 19.08.2007 19:48
Отмена прорисовки линии в Paint пр. кн. мыши. Как? Помогите!!! AnthyShock Помощь студентам 1 23.03.2007 18:51