Форум: "Основная";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизПроблема при вставке текста из буффера обмена в 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 вся ветка
Форум: "Основная";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c