![]() |
|
|
|
|
#1
|
|||
|
|||
|
У меня есть popupmenu и memo, как мне сделать так чтоб меню выскакивало при нажатии на определённую кнопку перед вводимым в мемо словом. Всё остальное понятно, но как определить координаты в мемо чтоб оно вываливалось по ходу набора текста перед последней буквой?
|
|
#2
|
|||
|
|||
|
Я думаю тебе надо будет создать новый поток, который будет следить, за вводимым текстом, как в Wordе. Но как именно это сделать я пока не знаю.
|
|
#3
|
|||
|
|||
|
Ну надо просто как то прировнять координаты курсора в мемо к координатам мышки или экрана.
|
|
#4
|
||||
|
||||
|
Код:
procedure OnKeyDown(~...~);
vap _mnupos:TPoint;
begin
_mnupos.X:=Self.Left+Memo1.Left;
_mnupos.Y:=Self.Top+Memo1.Top;
If Key='q' Then
MopupMenu1.Popup(_mnupos.X,_mnupos.Y);
end; |
|
#5
|
|||
|
|||
|
M.A.D.M.A.N. Что-то не так, появляется рядом с мемо и в одном и томже месте независимо от курсора в мемо.
Есть CaretPos у мемо но всё равно не получается привязать. Он берет координаты не по символам да? Я похоже запутал я имею ввиду как узнать экранные координаты каретки в мемо. Последний раз редактировалось Qwed86, 28.10.2008 в 15:12. |
|
#6
|
||||
|
||||
|
У тебя из-за разных шрифтов менюшка будет выскакивать в разных местах.
А вот код получения курсора я уже увы забыл. |