![]() |
DragDrop von TMemo auf TRichEdit
Ich möchte den Inhalt eines TMemo mittels DragDrop in ein TRichEdit schreiben,
dazu benutze ich diesen Code:
Delphi-Quellcode:
Leider passiert überhaupt nichts, er schreibt den Inhalt nicht in das Richedit.
procedure TForm1.InhaltDragDrop(Sender, Source: TObject; X, Y: Integer);
begin if (Source is TMemo) then Richedit1.text := (Source as TMemo).Text; end; procedure TForm1.RichEdit1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := true; end; Wenn ich die Zeile zum Überschreiben ins DragOver setze funktionierts. Allerdings soll man vorher den Mausbutton los lassen und so muss es im DragDrop bleiben. Vielleicht kann mir jemand helfen. Grüße |
Re: DragDrop von TMemo auf TRichEdit
Hallo,
geht das nicht eher so?
Delphi-Quellcode:
Edit: onDragOver und onDragDrop sind Ereignisse des TRichedit wie man sieht.
procedure TForm1.RichEdit1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin if (Source is TMemo) then (Sender as TRichEdit).Text := TMemo(Source).Text; end; procedure TForm1.RichEdit1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Source is TMemo; end; |
Re: DragDrop von TMemo auf TRichEdit
Danke bitsetter, klappt wunderbar :)
Nun möchte ich aber, das der Text der TMemo an der Stelle landet, an der ich mit dem Mauszeiger bin. Es müssen also Zeilen hinzugefügt und der Inhalt übertragen werden. Mit
Delphi-Quellcode:
wird ja immer der Text der bereits im RichEdit ist überschrieben. Mit Lines.add füge ich Zeilen hinzu, aber wie kann ich das mit dem Mauszeiger handhaben, so dass der Text genau an der Stelle eingefügt wird wo ich los lasse?
(Sender as TRichEdit) := (Source as TMemo).Text;
Ein paar Stichworte reichen. Vielen Dank und Grüße ps: falls ich für die Frage einen neuen Thread öffnen soll, dann bitte bescheid geben. |
Re: DragDrop von TMemo auf TRichEdit
Hallo Sammy,
versuche es so:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.RichEditDragDrop(Sender, Source: TObject; X,
Y: Integer); var pt: TPoint; begin pt := Point(X, Y); with Sender as TRichEdit do begin SelStart := SendMessage(Handle, EM_CHARFROMPOS, 0, Integer(@pt)); SelText := (Source as TMemo).Text; end; end; |
Re: DragDrop von TMemo auf TRichEdit
Ja, funktioniert genau so wie es sein soll. Problem ist somit behoben.
Vielen herzlichen Dank Marabu Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz