Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

richedit и popupmenu. Определение позиции в тексте.   Найти похожие ветки 

 
Alexsum   (2003-07-25 16:28) [0]

Не подскажите, как в richedit определить на каком месте текста был правый клик (вылезло попап меню)?
OnMouseDown не подходит, оно дает позицию мыши, а не место в тексте....


 
Song ©   (2003-07-25 16:42) [1]

EM_CHARFROMPOS
ScreenToClient


 
VAleksey ©   (2003-07-25 17:45) [2]

SelStart даст позицию курсора в символах.


 
Sha ©   (2003-07-26 10:10) [3]

var
L, P: Integer;
begin
with RichEdit1 do
begin
P:= SelStart;
L:= SendMessage(Handle, EM_LINEFROMCHAR, P, 0);
P:= P - SendMessage(Handle, EM_LINEINDEX, L, 0);
Caption:= IntToStr(L + 1) + " " + IntToStr(P + 1);
end;


 
Alexsum   (2003-07-28 10:07) [4]

а можно поподробнее по поводу EM_CHARFROMPOS, потому как вариант sha возвращает практически caretpos,а это координаты где стоит курсор, а мне нужно определить где находится указатель мыши


 
Song ©   (2003-07-28 10:23) [5]

GetCursorPos() - координаты мыши относительно экрана. Потом к ней применяешь ScreenToClient() - получаешь координаты мыши относительно клиентской области RichEdit


 
Alexsum   (2003-07-28 10:30) [6]

Это все понятно, прикол в том что оно не отрабатывает (EM_CHARFROMPOS), а выдает ошибку.


 
chs2r ©   (2003-07-28 12:12) [7]

можешь так попробовать

Mouse:TMouse;
...
procedure TForm.PopupMenu1Popup(Sender: TObject);
begin
xm:=Mouse.CursorPos.X;
ym:=Mouse.CursorPos.Y;
end;
в координатах экрана



 
Alexsum   (2003-07-28 17:38) [8]

Вот то что получилось в результате изысканий.z - это номер символа в richedit

z: Integer;
x: TPoint;
begin
GetCursorPos(x);
x1:=richedit.ScreenToClient(x);
z:=richedit.Perform(EM_CHARFROMPOS, 0, longint(@x));



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
6-33259
VladK
2003-06-03 18:44
2003.08.11
Реализация Zmodem через Telnet


1-33116
voprosik
2003-07-29 11:11
2003.08.11
Есть ли способ выводить на канвас


1-33118
dmitry99
2003-07-30 05:31
2003.08.11
В дизайнере RAVE 5.0 не удается сохранить проект отчета (.rav)


6-33244
Инна
2003-06-04 20:51
2003.08.11
excel-отчет в инете


3-33056
Stanly
2003-07-18 10:40
2003.08.11
Востановление работы после обрава соединения(IBX)