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

Проблема при вставке текста из буффера обмена в Memo   Найти похожие ветки 

 
FunkyByte ©   (2005-10-29 18:29) [0]

Доброго всем времени суток, уважаемые мастера. Как можно сделать так, чтобы при вставке текста из буфера обмена в Memo через всплывающее меню текст вставлялся там, где находился курсор мыши при вызове всплывающего меню, а не там, где в этот момент находился текстовый курсор? Заранее благодарен.


 
изобретатель_   (2005-10-29 22:10) [1]

Перед вызовом контекстного меню  переставляй текстовый курсор в нужное место:)


 
FunkyByte ©   (2005-10-30 01:16) [2]

А как это сделать? (вручную не предлагать)


 
Джо ©   (2005-10-30 04:21) [3]


> [2] FunkyByte ©   (30.10.05 01:16)
> А как это сделать? (вручную не предлагать)

Что значит вручную? Вот так, например, некошерно?

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);

 function CharFromPos: Dword;
 var
   Pt: DWORD;
 begin
   // Low word - X, high word - Y
   Pt := (Y * $10000) or (X and $FFFF);
   Result := (SendMessage((Sender as TMemo).Handle,EM_CHARFROMPOS,0,Pt));
   // charpos in low word
   Result := Result and $0000FFFF;
 end;

begin
 if Button = mbRight then
   (Sender as TMemo).SelStart := CharFromPos
end;


 
FunkyByte ©   (2005-10-30 22:14) [4]


> Что значит вручную?

Вручную переставить текстовый курсор - это значит подвести курсор мыши к тому месту, куда надо переставить текстовый курсор, и щёлкнуть по левой почке мышки :-)


> Вот так, например, некошерно?

То, что надо. Большое спасибо.



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

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



Память: 0.46 MB
Время: 0.025 c
10-1108026498
ViktorKR
2005-02-10 12:08
2005.11.20
COM+ авторизация


2-1131200278
Dot
2005-11-05 17:17
2005.11.20
Поиск файлов


4-1127291420
Som
2005-09-21 12:30
2005.11.20
Куда установлен виндовс


6-1123645641
Big Joe
2005-08-10 07:47
2005.11.20
Помогите с сокетом


1-1130407103
BFG9k
2005-10-27 13:58
2005.11.20
Использование модулей из пакетов




   Наверх