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

Вниз

Edit - вставить текст в позицию курсора   Найти похожие ветки 

 
CrazyHackers   (2003-08-18 15:00) [0]

Есть POPUPMENU в котором имеются ряд значений. Хотелось бы, при вызове из Edit - значение вставлялось в указанную позицию.


 
VAleksey ©   (2003-08-18 15:25) [1]

Что значит "значений"?

PS
Edit1.SelText := "То что надо";.


 
CrazyHackers   (2003-08-18 16:46) [2]

Значений - это я из базы формирую список слов, которые чел может вставить по правой клавише...


 
NAlexey ©   (2003-08-18 16:51) [3]

Узнавай над какой буквой Edit1 находится курсор, потом "склеивай" фразу и все...


 
CrazyHackers   (2003-08-18 16:55) [4]

Ну а как это самое сделать? Я чайник :)


 
VAleksey ©   (2003-08-18 17:37) [5]

Например если речь идет о TMemo или TEdit, то

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Var
SStart:Integer;
begin
if Button <> mbRight then Exit;
With TEdit(Sender) do
begin
SStart := SelStart;
SelStart := Perform(EM_CHARFROMPOS,0,MakeLParam(X,Y));
SelText := "aaaaaaaaaaa"; // То, что надо вставить
SelStart := SStart;
end;
end;


 
BillyJeans ©   (2003-08-18 17:37) [6]

Вставлять в Edit или куда???


 
CrazyHackers   (2003-08-18 19:03) [7]

а что не так?
пишет - не совпадет список параметров (parametr list differ)



procedure TfrmNewItem.GetTemplateName(cat_id: integer);
var
MyPopUpItem: TMenuItem;

begin
PopupMenu1.Items.Clear;
with qTemplate do
begin
If Active Then Close;
Params[0].AsInteger:=cat_id;

Open;
While Not EOF do
begin
MyPopUpItem := TMenuItem.Create(Self);
MyPopUpItem.Caption:=FieldByName("prefix").AsString;
MypopUpItem.OnClick := Edit1MouseDown;
PopupMenu1.Items.Add(MyPopUpItem);

Next;
end;

end;
end;

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

Var
SStart:Integer;
begin

With TEdit(Sender) do
begin
SStart := SelStart;
SelStart := Perform(EM_CHARFROMPOS,0,MakeLParam(X,Y));
SelText := "aaaaaaaaaaa"; // То, что надо вставить
SelStart := SStart;
end;
end;




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

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

Наверх




Память: 0.48 MB
Время: 0.032 c
1-1429
KIR
2003-08-19 10:09
2003.09.01
Как заставить работать UpCaseFirst cо строками из русских букв?


1-1475
Aleksandr
2003-08-18 14:37
2003.09.01
Что за ошибка у компилятора с EncodeDateTime?


8-1519
Roka
2003-04-21 13:10
2003.09.01
slider аля шатл


1-1371
Alex-21
2003-08-12 19:48
2003.09.01
TRxRichEdit


3-1281
Lamer_of_Delphi
2003-08-11 10:29
2003.09.01
Как получить значение ключевого поля последней записи?