Вниз
Скачать: CL | DM;

Как узнать какая буква под курсором в RichEdit?   Найти похожие ветки 

 
тт   (2006-06-02 17:44) [0]

В TMemo то можно так:
procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
c :integer;
w :word;
begin
longint(c):=SendMessage(Memo1.Handle,EM_CHARFROMPOS,0,MAKELPARAM(x,y));
if c<>-1 then
begin
 w:=LoWord(cardinal(c));
 self.Caption:=tr2.Text[w];
end;
end;

А в TRichEdit, если пользоваться таким же способом, выдает ошибку.

Так как же узнать какая буква под курсором в RichEdit?


 
MBo ©   (2006-06-02 18:21) [1]

В MSDN посмотри справку по этому сообщению - для Richedit оно используется иначе


 
Чапаев ©   (2006-06-02 19:05) [2]

RichEdit1.Lines.Text[RichEdit1.SelStart] -- так?


 
тт   (2006-06-02 19:09) [3]

...Чапаев ©   (02.06.06 19:05) [2]

RichEdit1.Lines.Text[RichEdit1.SelStart] -- так?

Что-то я сомневаюсь, сейчас проверю.

Так я и не понял.
А это вообще элементарно делается?


 
begin...end ©   (2006-06-02 19:19) [4]

> тт   (02.06.06 19:09) [3]
> А это вообще элементарно делается?

Угу.

procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
 P: TPoint;
begin
 P := Point(X, Y);
 with Sender as TRichEdit do
   Caption := Text[Perform(EM_CHARFROMPOS, 0, Integer(@P))]
end


 
тт   (2006-06-02 20:53) [5]

begin...end ©   (02.06.06 19:19) [4]

То что нужно!!!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1151330730
bulavkin
2006-06-26 18:05
2006.07.16
DelphX --- Отобразить спрайт


2-1151583575
Ega23
2006-06-29 16:19
2006.07.16
Как получить список всех созданных фреймов приложения?


3-1147518323
neat
2006-05-13 15:05
2006.07.16
Копирование таблиц


1-1149586836
Dyakon_Frost
2006-06-06 13:40
2006.07.16
Потоки - Загрузка процессора


15-1149861184
Ihor Osov'yak
2006-06-09 17:53
2006.07.16
эт, о перспективах...




   Наверх