1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
procedure TFTravail.RichEditDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Source = FPrincipal.TreeViewBase;
end;
procedure TFTravail.RicheditDragDrop(Sender, Source: TObject; X,
Y: Integer);
Var
i : Integer;
Data: Pchar;
// LineNum,ColNum : Word;
Pt: Tpoint;
Begin
// With TRichEdit(Sender) do
With TSynEdit(Sender) do
Begin
Pt := Point(X,Y);
if FPrincipal.TreeViewBase.Selected.Level > 0 then
Begin
Data := PChar('['+FPrincipal.TreeViewBase.Selected.Parent.Text +'].['
+ FPrincipal.TreeViewBase.Selected.Text+']');
end
else
Data := PChar('['+FPrincipal.TreeViewBase.Selected.Text+']');
// Calcul de la position du pointeur de la souris pour positionner le texte à une position précise dans le TMemo
I := LoWord(Perform(Messages.EM_CHARFROMPOS , 0, Integer(@Pt)));
SelStart := I; // on positionne le curseur de selection sous le pointeur de la souris
/ * Marche pas avec SynEdit */
SetSelTextBuf(Data); // on insert le text là où est le curseur
end;
end: |
Partager