Clipboard/de
From Free Pascal wiki
Revision as of 12:06, 5 July 2013 by Olaf (talk | contribs) (→Microsoft Formattypen der Zwischenablage)
│
Deutsch (de) │
English (en) │
magyar (hu) │
русский (ru) │
Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.
Einbinden der Unit Clipbrd
Für den Zugriff auf die Zwischenablage wird die Unit Clipbrd benötigt.
...
uses
Clipbrd, ...;
...
Formate der Zwischenablage
Microsoft Formattypen der Zwischenablage
Der Inhalt der Windows-Zwischenablage kann unter anderem folgende Formate haben:
Konstante | Wert | Beschreibung |
---|---|---|
CF_TEXT | 1 | Unformatierter Ansi-Text (UTF-8). |
CF_BITMAP | 2 | Handle auf eine Windows Bitmap-Grafik. |
CF_METAFILEPICT | 3 | Handle auf ein Windows Metafile-Grafik. |
CF_SYLK | 4 | Handle auf einen Microsoft Symbolic-Link. |
CF_DIF | 5 | Handle auf ein Software Arts "Data Interchange Format". |
CF_TIFF | 6 | Handle auf eine Tagged-Image File Format. |
CF_OEMTEXT | 7 | Mit dem OEM-Zeichensatz formatierter Text. (Dieser Zeichensatz wird von PC-Dos und MS-Dos verwendet.) |
CF_DIB | 8 | Handle auf eine Windows Bitmap-Grafik. |
CF_PALETTE | 9 | Handle auf einer Farbpalette. |
CF_PENDATA | 10 | Wird im Zusammenhang mit den Stift Erweiterungen von Microsoft Windows verwendet. |
CF_RIFF | 11 | Multimedia Daten (Audiodateien)im Resource Interchange Datei Format (= Resource Interchange File Format). |
CF_WAVE | 12 | Audiodaten in einem der Standard-Wave-Formate wie 11 kHz oder 22 kHz PCM. |
CF_UNICODETEXT | 13 | Text im Unicode-Text-Format (UTF-16). |
CF_ENHMETAFILE | 14 | Ein Handle auf eine erweiterte Metadatei (HENHMETAFILE). |
CF_HDROP | 15 | Ein Handle auf eine Dateiliste, im Zusammenhang mit Darg-And-Drop. |
CF_LOCALE | 16 | Enthält einen numerischen Wert in dem das Gebietsschema (Sprachcode und Ländercode) hinterlegt sind. Diese Information dient dazu, die Zeichensatzcodierung im Zwischenablageformat CF_TEXT zu ermitteln. Das Betriebssystem verwendet die Codepage CF_LOCALE um Daten aus dem Zwischenablageformat CF_TEXT implizit in das Zwischenablageformat CF_UNICODETEXT konvertieren. |
CF_OWNERDISPLAY | 128 | Owner Display Format. |
CF_DSPTEXT | 129 | Text, dessen Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_DSPBITMAP | 130 | Bitmap, deren Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_DSPMETAFILEPICT | 131 | Zwischendatei, deren Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_DSPENHMETAFILE | 142 | Erweiterte Zwischendatei, deren Anzeigeformat mit einem eigenen Format verbunden ist (CF_PRIVATEFIRST, CF_PRIVATELAST). |
CF_PRIVATEFIRST | 512 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_PRIVATELAST | 767 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_GDIOBJFIRST | 768 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_GDIOBJLAST | 1023 | Dient in der Zwischenablage dem setzen von privaten Datenformaten. |
CF_PICTURE | 49674 | Handle auf ein Objekt vom Datentyp TPicture. |
CF_OBJECT | 49685 | Handle auf ein beliebiges Objekt. |
Das Format der Zwischenablage abfragen
Im Beispiel wird abgefragt, ob der Inhalt der Zwischenablage Textformat hat.
...
If Clipboard.HasFormat(CF_TEXT) then ...
...
Leeren der Zwischenablage
Wenn das öffnen und das Schliessen der Zwischenablage wegbleiben wird der Code auch ausgeführt, ist aber schlechter Code.
...
Clipboard.Clear; // Leert die Zwischenablage
...
Arbeiten mit Texten ohne Textformatierung
Holt den Inhalt der Zwischenablage als unformatierten Text:
...
Procedure subProzedur1;
var
strPuffer: string;
begin
...
strPuffer := Clipboard.AsText;
...
end;
...
Kopiert den Inhalt eines Strings in die Zwischenablage:
...
procedure subProzedur2;
var
strPuffer: string;
begin
...
strPuffer := 'Hallo Welt';
Clipboard.AsText := strPuffer;
...
end;
...