Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2298
Erhaltene Danke: 44

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter, Delphi 10.2 Tokyo Community Edition
BeitragVerfasst: Di 17.10.17 19:52 
Hallo!

Wie verwende ich SetClipboard richtig? Trotzdem ich ein neues TClipBoard zuweise, wird der Inhalt der "echten" Zwischenablage überschrieben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
  NewClipBoard: TClipBoard;
begin
  SetClipboard(NewClipBoard);
//dann etwas in NewClipBoard kopieren

Und muss ich anschliessend die Windows-Zwischenablage wiederherstellen?

Alternativ: Wie sichere ich den Inhalt der Windows-Zwischenablage und stelle ihn danach wieder her?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!


Zuletzt bearbeitet von galagher am Mi 18.10.17 18:35, insgesamt 1-mal bearbeitet
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 17.10.17 20:40 
- Nachträglich durch die Entwickler-Ecke gelöscht -
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2298
Erhaltene Danke: 44

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter, Delphi 10.2 Tokyo Community Edition
BeitragVerfasst: Di 17.10.17 21:03 
Hallo Frühlingsrolle!

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Möchtest du dir einen Zustand merken, solltest du ein TClipboard Objekt erzeugen (und freigeben).
Mit der Eigenschaft .AsText kannst du den jeweiligen Text abfragen/setzen.
Wie kopiere ich dann den Inhalt der Windows-Zwischenablage, der ja alles mögliche sein kann, da hinein, und wie lese ich das dann wieder in die Windows-Zwischenablage ein?

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
TMemo und Co. haben ebenso entsprechende Methoden wie .CopyToClipboard() und .PasteFromClipboard().
Das nützt mir nichts, es geht darum, eine RTF-Tabelle als Tabelle einzufügen, nicht als rtf-Code! Ich kann auch .SelText nicht verwenden, weil das nicht die Tabelle, sondern den rtf-Code einfügt.

Zuerst sehe ich aber mir SetClipboard noch mal an!

//Edit:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  SetClipboard(NewClipboard);
  tmpJvRichEdit.SelectAll;
  tmpJvRichEdit.CopyToClipboard;
  JvRichEdit.PasteFromClipboard;
  NewClipboard.Free;

Und trotzdem landet alles in der Windows-Zwischenablage! Ich möchte aber, dass CopyToClipboard und PasteFromClipboard mit NewClipboard arbeiten. Wie bekomme ich da sonst Daten rein und raus?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2298
Erhaltene Danke: 44

Windows 7 64 Bit
Delphi XE2 Starter, Delphi 10.1 Starter, Delphi 10.2 Tokyo Community Edition
BeitragVerfasst: Mi 18.10.17 18:15 
Die Lösung besteht darin, rtf-formatierten Text an beliebiger Stelle einzufügen, in meinem Fall eben eine Tabelle:
delphidabbler.com/tips/57
Ein Zufallstreffer!

//Edit: Ich habe daher den Titel angepasst.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!