Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Позиция указателя мыши, указатель мыши над компонентом 
V
    Опции темы
MDV
Дата 6.11.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 3.11.2005

Репутация: нет
Всего: нет



Как определить над каким символом (строка и столбец) находится указатель мыши?
PM MAIL   Вверх
Vitalik
Дата 6.11.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Привет, MDV!

Добро пожаловать к нам на форум! Заходите почаще! smile

Я вначале хотел написать следующее:
Код
SynEdit.CaretXY // TBufferCoord - запись, хранящая позицию курсора
SynEdit.CaretY или SynEdit.CaretXY.Line // это текущая строка
SynEdit.CaretX или SynEdit.CaretXY.Char // это текущий столбец

Потом только увидел, что нужно определить символ под указателем мыши...

Для этих целей можно использовать событие SynEdit1.OnMouseCursor:
Код
procedure TForm1.SynEdit1MouseCursor(Sender: TObject;
  const aLineCharPos: TBufferCoord; var aCursor: TCursor);
var
  bLine, bChar: integer;
begin
  bLine := aLineCharPos.Line; // строка
  bChar := aLineCharPos.Char; // слолбец
  lbCoords.Caption := '['+IntToStr(bChar)+', '+IntToStr(bLine)+']'; // выводим координаты
  // чтобы не было AV нужны проверки:
  if (0 < bLine) and (bLine <= SynEdit1.Lines.Count) and
     (0 < bChar) and (bChar <= Length(SynEdit1.Lines[bLine-1])) then
    lbSymbol.Caption := ''''+SynEdit1.Lines[bLine-1][bChar]+'''' // символ под указателем
  else
    lbSymbol.Caption := ''''''; // нет символа под указателем мыши
end;

Вот простенькая демка smile

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  SymbolByMouse.zip 7,63 Kb
PM MAIL WWW ICQ YIM   Вверх
Vitalik
Дата 6.11.2005, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



А вот вместе с exe (на всякий пожарный) smile

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  SymbolByMouse_exe.zip 367,97 Kb
PM MAIL WWW ICQ YIM   Вверх
MDV
Дата 6.11.2005, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 3.11.2005

Репутация: нет
Всего: нет



Да.....Сильно сделали. Это не Альтернатива RE для набора кода, это тянет на его замену.

PM MAIL   Вверх
Vitalik
Дата 7.11.2005, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(MDV @ 6.11.2005, 18:44)
Да.....Сильно сделали. Это не Альтернатива RE для набора кода, это тянет на его замену.

Ну... Если ты имеешь ввиду RichEdit, то "на замену" это точно не катит smile
Ведь SynEdit работает только с PlainText файлами, в то время как RichEdit - с форматированными, как например RTF...

Но скорее всего я тебя совсем не правильно понял smile
PM MAIL WWW ICQ YIM   Вверх
MDV
Дата 13.11.2005, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 3.11.2005

Репутация: нет
Всего: нет



Имелось для набора программного кода
PM MAIL   Вверх
Vitalik
Дата 14.11.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12




 ! 
 
Обсуждение прокрутки SynEdit'а к определённой строке выделено в тему "Как прокрутить SynEdit к линии y"

PM MAIL WWW ICQ YIM   Вверх
Vitalik
Дата 14.11.2005, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(MDV @ 13.11.2005, 10:37)
Имелось для набора программного кода

А... Ну если в этом смысле, то я бы сказал наоборот, что RichEdit - это даже не альтернатива SynEdit smile
PM MAIL WWW ICQ YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.1217 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.