Difference between revisions of "Clipboard/de"
From Lazarus wiki
Jump to navigationJump to searchm |
m (some typos) |
||
Line 21: | Line 21: | ||
|CF_METAFILEPICT | |CF_METAFILEPICT | ||
|3 | |3 | ||
− | |Handle auf | + | |Handle auf eine Windows Metafile-Grafik. |
|- | |- | ||
|CF_SYLK | |CF_SYLK | ||
Line 45: | Line 45: | ||
|CF_PALETTE | |CF_PALETTE | ||
|9 | |9 | ||
− | |Handle auf | + | |Handle auf eine Farbpalette. |
|- | |- | ||
|CF_PENDATA | |CF_PENDATA | ||
|10 | |10 | ||
− | |Wird im Zusammenhang mit den Stift Erweiterungen von Microsoft Windows verwendet. | + | |Wird im Zusammenhang mit den Stift-Erweiterungen von Microsoft Windows verwendet. |
|- | |- | ||
|CF_RIFF | |CF_RIFF | ||
|11 | |11 | ||
− | | | + | |Multimediadaten (Audiodateien) im Resource Interchange Datei Format (= '''R'''esource '''I'''nterchange '''F'''ile '''F'''ormat). |
|- | |- | ||
|CF_WAVE | |CF_WAVE | ||
Line 69: | Line 69: | ||
|CF_HDROP | |CF_HDROP | ||
|15 | |15 | ||
− | |Ein Handle auf eine Dateiliste, im Zusammenhang mit | + | |Ein Handle auf eine Dateiliste, im Zusammenhang mit Drag-And-Drop. |
|- | |- | ||
|CF_LOCALE | |CF_LOCALE | ||
|16 | |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. | + | |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 | |CF_OWNERDISPLAY | ||
Line 97: | Line 97: | ||
|CF_PRIVATEFIRST | |CF_PRIVATEFIRST | ||
|512 | |512 | ||
− | |Dient in der Zwischenablage dem | + | |Dient in der Zwischenablage dem Setzen von privaten Datenformaten. |
|- | |- | ||
|CF_PRIVATELAST | |CF_PRIVATELAST | ||
|767 | |767 | ||
− | |Dient in der Zwischenablage dem | + | |Dient in der Zwischenablage dem Setzen von privaten Datenformaten. |
|- | |- | ||
|CF_GDIOBJFIRST | |CF_GDIOBJFIRST | ||
|768 | |768 | ||
− | |Dient in der Zwischenablage dem | + | |Dient in der Zwischenablage dem Setzen von privaten Datenformaten. |
|- | |- | ||
|CF_GDIOBJLAST | |CF_GDIOBJLAST | ||
|1023 | |1023 | ||
− | |Dient in der Zwischenablage dem | + | |Dient in der Zwischenablage dem Setzen von privaten Datenformaten. |
|- | |- | ||
|CF_PICTURE | |CF_PICTURE | ||
Line 138: | Line 138: | ||
<br> | <br> | ||
=Leeren der Zwischenablage= | =Leeren der Zwischenablage= | ||
− | Wenn das | + | Wenn das Öffnen und das Schliessen der Zwischenablage wegbleiben, wird der Code auch ausgeführt. Dies ist aber schlechter Code.<br> |
<syntaxhighlight> | <syntaxhighlight> | ||
... | ... | ||
Line 202: | Line 202: | ||
ReleaseDC(0, hdcBildschirm); | ReleaseDC(0, hdcBildschirm); | ||
// kopiert den Screenshot in die Zwischenablage | // kopiert den Screenshot in die Zwischenablage | ||
− | // dieser kann dann | + | // dieser kann dann als Picture oder als Bitmap |
// aus der Zwischenablage geholt werden | // aus der Zwischenablage geholt werden | ||
Clipboard.Assign(picBild); | Clipboard.Assign(picBild); |
Revision as of 19:08, 6 July 2013
│
Deutsch (de) │
English (en) │
magyar (hu) │
русский (ru) │
Dieser Artikel beschäftigt sich mit der Windowsprogrammierung.
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 eine 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 z. B. von PC-Dos und MS-Dos verwendet.) |
CF_DIB | 8 | Handle auf eine Windows Bitmap-Grafik. |
CF_PALETTE | 9 | Handle auf eine Farbpalette. |
CF_PENDATA | 10 | Wird im Zusammenhang mit den Stift-Erweiterungen von Microsoft Windows verwendet. |
CF_RIFF | 11 | Multimediadaten (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 Drag-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. |
Einbinden der Unit Clipbrd
Für den Zugriff auf die Zwischenablage wird die Unit Clipbrd benötigt.
...
uses
Clipbrd, ...;
...
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. Dies 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;
...
Einen Screenshot erstellen und in die Zwischenablage kopieren
...
uses
Clipbrd, Graphics, Windows, SysUtils, ...;
...
procedure subProzedur3;
var
picBild: TPicture;
hdcBildschirm: HDC;
begin
try
// erstellt das Objekt picBild
picBild := TPicture.Create;
// erstellt den Screenshot und übergibt die Adresse des Screenshots
hdcBildschirm := GetDC(0);
// kopiert den Inhalt ab Adresse hdcBildschirm nach picBild
picBild.Bitmap.LoadFromDevice(hdcBildschirm);
// Freigabe von DC
ReleaseDC(0, hdcBildschirm);
// kopiert den Screenshot in die Zwischenablage
// dieser kann dann als Picture oder als Bitmap
// aus der Zwischenablage geholt werden
Clipboard.Assign(picBild);
finally
// gibt die lokale Variable picBild wieder frei
FreeandNil(picBild);
end;
end;
...