![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать какая буква под курсором в RichEdit?
тт © (2006-06-02 17:44:00)В 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?
тт (2006-06-02 20:53:00) [1]begin...end © (02.06.06 19:19) [4]
То что нужно!!!
begin...end (2006-06-02 19:19:00) [2]> тт (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 19:09:00) [3]...Чапаев © (02.06.06 19:05) [2]
RichEdit1.Lines.Text[RichEdit1.SelStart] -- так?
Что-то я сомневаюсь, сейчас проверю.
Так я и не понял.
А это вообще элементарно делается?
Чапаев (2006-06-02 19:05:00) [4]RichEdit1.Lines.Text[RichEdit1.SelStart] -- так?
MBo (2006-06-02 18:21:00) [5]В MSDN посмотри справку по этому сообщению - для Richedit оно используется иначе