| 
| 
 | Вопрос # 4 428/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты!Как узнать слово, по которому ты щёлкнул мышью в Memo или RichEdit?
 Заранее спасибо.
 
|  |   Вопрос задал: Некто (статус: Заблокирован)Вопрос отправлен: 14 июля 2010, 20:14
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Ерёмин А.А. Здравствуйте, Мусабаев Равиль!Не поверите, но готовый код найден в гугле за минуту. См. приложение.
 Приложение:Переключить в обычный режим uses  RichEdit; var  WordInRE : string; procedure TForm1.RichEdit1MouseMove  (Sender: TObject; Shift: TShiftState; X, Y: Integer) ;var   ci, //Character Index   lix, //Line Index   co, //Character Offset   k, j: Integer;   Pt: TPoint;   s: string;begin   with TRichEdit(Sender) do   begin     Pt := Point(X, Y) ;     ci := Perform(Messages.EM_CHARFROMPOS, 0, Integer(@Pt)) ;     if ci < 0 then Exit;     lix := Perform(EM_EXLINEFROMCHAR, 0, ci) ;     co := ci - Perform(EM_LINEINDEX, lix, 0) ;     if -1 + Lines.Count < lix then Exit;     s := Lines[lix];     Inc(co) ;     k := co;     while (k > 0) and (s[k] <> ' ') do k:=k-1;     Inc(co) ;     j := co;     while (j <= Length(s)) and (s[j] <> ' ') do Inc(j) ;     WordInRE := Copy(s, k, j - k) ;   end;end;
|  | Ответ отправил: Ерёмин А.А. (статус: *Администратор)Время отправки: 15 июля 2010, 12:22
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо! |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 15 июля 2010, 08:12; участников в обсуждении: 2. 
|   | min@y™ (статус: Доктор наук), 14 июля 2010, 20:22 [#1]:Надо посмотреть слева и справа от курсора и собирать слово, пока буквы/цифры не закончатся началом/концом текста или разделителем. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Некто (статус: Заблокирован), 15 июля 2010, 08:12 [#2]:А как узнать координаты курсора в Memo? (Имеется в виду мигающая черта) |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |