Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: 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 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1149499843
Тфьу
2006-06-05 13:30
2006.07.16
Выбранная запись в cxGrid


2-1151323955
lobach
2006-06-26 16:12
2006.07.16
Cgi


15-1149789877
kaif
2006-06-08 22:04
2006.07.16
ODBC драйвер для FoxPro2.6


2-1151421912
Юнкер
2006-06-27 19:25
2006.07.16
Как поделить деньги на булки?


15-1150149793
www.asm-forever.com
2006-06-13 02:03
2006.07.16
Новый форум по ассемблеру ww.asm-forever.com