AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DragDrop von TMemo auf TRichEdit

Ein Thema von KesseK · begonnen am 31. Jan 2008 · letzter Beitrag vom 1. Feb 2008
Antwort Antwort
KesseK

Registriert seit: 31. Jan 2007
Ort: Dortmund
48 Beiträge
 
Delphi 7 Personal
 
#1

DragDrop von TMemo auf TRichEdit

  Alt 31. Jan 2008, 15:15
Ich möchte den Inhalt eines TMemo mittels DragDrop in ein TRichEdit schreiben,
dazu benutze ich diesen Code:

Delphi-Quellcode:
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;
Leider passiert überhaupt nichts, er schreibt den Inhalt nicht in das Richedit.
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
Sammy
lalalalalalala la la .. Wem gehört das Reh auf der Wiese dort?
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: DragDrop von TMemo auf TRichEdit

  Alt 31. Jan 2008, 16:17
Hallo,

geht das nicht eher so?
Delphi-Quellcode:
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;
Edit: onDragOver und onDragDrop sind Ereignisse des TRichedit wie man sieht.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
KesseK

Registriert seit: 31. Jan 2007
Ort: Dortmund
48 Beiträge
 
Delphi 7 Personal
 
#3

Re: DragDrop von TMemo auf TRichEdit

  Alt 1. Feb 2008, 07:13
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
(Sender as TRichEdit) := (Source as TMemo).Text; 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?

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.
Sammy
lalalalalalala la la .. Wem gehört das Reh auf der Wiese dort?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: DragDrop von TMemo auf TRichEdit

  Alt 1. Feb 2008, 12:20
Hallo Sammy,

versuche es so:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
KesseK

Registriert seit: 31. Jan 2007
Ort: Dortmund
48 Beiträge
 
Delphi 7 Personal
 
#5

Re: DragDrop von TMemo auf TRichEdit

  Alt 1. Feb 2008, 12:34
Ja, funktioniert genau so wie es sein soll. Problem ist somit behoben.

Vielen herzlichen Dank Marabu

Grüße
Sammy
lalalalalalala la la .. Wem gehört das Reh auf der Wiese dort?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz