IInkDisp::ClipboardCopyWithRectangle-Methode (msinkaut.h)

Kopiert die IInkStrokeDisp-Objekte , die im bekannten Rechteck enthalten sind, in die Zwischenablage.

Syntax

HRESULT ClipboardCopyWithRectangle(
  [in]           IInkRectangle       *Rectangle,
  [in, optional] InkClipboardFormats ClipboardFormats,
  [in, optional] InkClipboardModes   ClipboardModes,
  [out, retval]  IDataObject         **DataObject
);

Parameter

[in] Rectangle

Gibt das Rechteck an, das die Striche enthält, die in die Zwischenablage kopiert werden sollen.

[in, optional] ClipboardFormats

Optional. Gibt den InkClipboardFormats-Enumerationswert des InkDisp-Objekts an. Der Standardwert ist ICF_Default.

[in, optional] ClipboardModes

Optional. Gibt den InkClipboardModes-Enumerationswert des InkDisp Class-Objekts an. Der Standardwert ist ICB_Default.

[out, retval] DataObject

Wenn diese Methode zurückgibt, enthält einen Zeiger auf das neu erstellte Datenobjekt.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_POINTER
Ein Parameter enthielt einen ungültigen Zeiger.
E_INK_EXCEPTION
Innerhalb der -Methode ist eine Ausnahme aufgetreten.

Hinweise

Wenn das Rechteck Striche ausklammert, werden diese Striche in den kopierten Daten abgeschnitten.

Es kann hilfreich sein, ein InkDisp-Objekt in die Zwischenablage zu kopieren, wenn Sie nur die Eigenschaften des InkDisp-Objekts kopieren möchten. Um ein InkDisp-Objekt in die Zwischenablage zu kopieren, rufen Sie die ClipboardCopy-Methode auf, wobei der Strichparameter auf NULL festgelegt ist.

Vorsicht Um potenzielle Speicherverluste aufgrund der Verwendung des ICB_DelayedCopy-Flags zu vermeiden, müssen Sie die OleFlushClipboard- oder OleSetClipboard-Methode aufrufen. Dies muss erfolgen, bevor die Anwendung beendet wird, wenn der letzte Aufruf der ClipboardCopyWithRectangle-Methode das flag ICB_DelayedCopy verwendet hat.
 
Wenn ClipboardCopyWithRectangle in ICB_Cut Modus verwendet wird, wird ein Strich, der in zwei oder mehr Striche aufgeteilt wird, gelöscht, und an seiner Stelle werden neue Striche hinzugefügt.

Darüber hinaus werden die Ereignisse InkAdded und InkDeleted basierend auf den Indizes der Striche generiert. Wenn beispielsweise die Striche an den Indizes 0, 1, 3, 5 und 6 gelöscht werden sollen, werden zwei Ereignisse generiert. eine für Striche mit Indizes 0123 und einer für Striche mit den Indizes 5 und 6. Das heißt, ein Ereignis für jede zusammenhängende Menge.

Dies gilt auch für InkAdded-Ereignisse . Ein interner Algorithmus bestimmt die Indizes der neu hinzugefügten Striche in der Strichauflistung. Dies wirkt sich wie oben beschrieben darauf aus, wie die InkAdded-Ereignisse ausgelöst werden.

Wenn die Anzahl der Striche innerhalb des Ereignishandlers abgefragt wird, ist das Ergebnis die Gesamtanzahl der Striche, die vom gesamten Vorgang hinzugefügt wurden, einschließlich der Striche, die noch keine Ereignisse generiert haben.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile msinkaut.h
Bibliothek InkObj.dll

Weitere Informationen

ClipboardCopy-Methode

IInkDisp

InkClipboardFormats-Enumeration

InkClipboardModes-Enumeration

InkDisp-Klasse

InkStrokes-Auflistung