AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Ole Drop, um Text aus belibiger Anwendung ins Memo zu ziehen
Thema durchsuchen
Ansicht
Themen-Optionen

Ole Drop, um Text aus belibiger Anwendung ins Memo zu ziehen

Ein Thema von lbccaleb · begonnen am 30. Jan 2010 · letzter Beitrag vom 9. Dez 2011
Antwort Antwort
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#1

Ole Drop, um Text aus belibiger Anwendung ins Memo zu ziehen

  Alt 30. Jan 2010, 20:35
Hallo,

in diesem Thema habe ich festgestellt, dass es gar nicht so einfach ist von einer belibigen Anwendung Text in ein Standart Memo per Drag und Drop zu ziehen.

Nach ner Weile im Internet Googeln, habe ich dann eine passende Unit zusammengestellt, aus allem was ich da so finden konnte. Alles vorgegebene sind extra Komponenten oder für den kleinen Zweck viel zu viel Code.
Also habe ich aus allem eine kleine Unit entworfen, die da Abhilfe schaffen sollte.

Unit muss nur dem Projekt hinzugefügt werden, und die Zeilen die Kommentiert sind, angepasst werden... Das Demo Programm ist ebenfalls kommentiert.

Anmerkung:
Nutzer des RichEdit Controls (ob VCL oder nonVCL) brauchen dieses nicht, da bei dem Control die Funktion standartmäßig implementiert ist.

Anbei ist die benötigte Unit, und ein Demoprogramm. Eine Screenshot hänge ich mal nicht mit an, da auf dem ehh nur eine Form mit einem Edit zu sehen währe
In das Memo kann nun ohne Probleme Text, der z.B.: im Browser makiert wurde, per Drag und Drop im Edit abgelegt werden.

Wollte das hier rein stellen, da ich mir Vorstellen könnte, dass noch ein paar mehr solch eine Funktion mal irgendwann gebrauchen könnten.

(Teile der Unit sind im Netz zusammengefischt, und daher auch ohne Copyrightvermerk)
Angehängte Dateien
Dateityp: zip oletextdrop_304.zip (206,8 KB, 116x aufgerufen)
Dateityp: pas uoledrop_114.pas (2,6 KB, 85x aufgerufen)
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#2

AW: Ole Drop, um Text aus belibiger Anwendung ins Memo zu ziehen

  Alt 8. Dez 2011, 16:54
Ich hab mir mal erlaub das Teil etwas aufzuarbeiten. Hatte Probleme unter D2k9 und dieser Ringverweis, wenn auch technisch okay, gefiel mir nicht.

Es sollte jetzt einfacher zu verstehen sein und unter Delphi 2009 und Neuer funktionieren. Es werden, ausser OLEDrop selbst, keine uses mehr benötigt. An der Technik ab ich nichts verändert - nur aufgeräumt.

Delphi-Quellcode:
// Vollständiger Quellcode
procedure TForm1.FormCreate(Sender: TObject);
begin
  OleDrop := TOleDrop.create(Panel1.Handle);
  OleDrop.OnTextDropped:=MemoDrop;
end;

procedure TForm1.MemoDrop(aText: PAnsiChar);
begin;
  Memo1.Text:=aText;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  OleDrop.Free;
end;
Download enthält die Unit, ein Demoprojekt und die EXE.

Gruß,

Toni
Angehängte Dateien
Dateityp: zip OLEDrop.zip (257,9 KB, 87x aufgerufen)
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?

Geändert von Tonic1024 ( 8. Dez 2011 um 17:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Ole Drop, um Text aus belibiger Anwendung ins Memo zu ziehen

  Alt 8. Dez 2011, 17:27
Ich benutze OLE-Drop immer noch in einem Programm, dh. werde ich mir deine Version auch noch mal ansehen! Danke dafür....

Edit:
Asso, der Ringverweis war, weil ich das in einem nonVCL Application verwende. Und deshalb die Uses "Forms" nicht einbinden wollte.
Und ich keine andere Lösung gefunden habe es besser hinzubekommen....
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)

Geändert von lbccaleb ( 8. Dez 2011 um 19:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#4

AW: Ole Drop, um Text aus belibiger Anwendung ins Memo zu ziehen

  Alt 9. Dez 2011, 08:31
Sollte auch keine Kritik sein. Fands nur zu kompliziert für meinen Geschmack. NonVCL mach ich nur selten, darum hab ich darauf keine Rücksicht genommen. Mir gings in erster Linie darum die Unit auf das "neue Delphi" (Unicode-Umstellung ab D2k9) upzugraden.

Ich persönlich bin faul und will immer alles Essenzielle mit einer Zeile abfrühstücken. Das Ergebnis ist dadurch ziemlich "noobtauglich" geworden, denke ich.

[Edit]Auf Forms kannst du verzichten wenn die MessageBox mit dem Dropzone-Handle (FDropzone) funktioniert. Müsstest du in deiner nonVCL Umgebung mal ausprobieren. Ansich dürfte die auch ne 0 schlucken, tippe ich mal.[/Edit]

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?

Geändert von Tonic1024 ( 9. Dez 2011 um 09:02 Uhr)
  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 05:01 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