共用方式為


IInkDisp::ClipboardCopyWithRectangle 方法 (msinkaut.h)

將包含在已知矩形內的 IInkStrokeDisp 物件複製到剪貼簿。

語法

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

參數

[in] Rectangle

指定要複製到剪貼簿的筆劃的矩形。

[in, optional] ClipboardFormats

選擇性。 指定InkDisp物件的InkClipboardFormats列舉值。 預設值 為 ICF_Default

[in, optional] ClipboardModes

選擇性。 指定InkDisp 類別物件的InkClipboardModes 列舉值。 預設值 為 ICB_Default

[out, retval] DataObject

當這個方法傳回時,會包含新建立之資料物件的指標。

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK
成功。
E_POINTER
參數包含不正確指標。
E_INK_EXCEPTION
方法內發生例外狀況。

備註

如果矩形裁剪筆劃,這些筆劃會在複製的資料中裁剪。

當您只想要複製InkDisp物件的屬性時,將InkDisp物件複製到剪貼簿可能很有用。 若要將 InkDisp 物件複製到剪貼簿,請呼叫 ClipboardCopy 方法,並將 strokes 參數設定為 Null

謹慎 若要避免因為使用 ICB_DelayedCopy 旗標而造成潛在的記憶體流失,您必須呼叫 OleFlushClipboardOleSetClipboard 方法。 如果剪 貼簿CopyWithRectangle 方法的最後一次呼叫使用 ICB_DelayedCopy 旗標,則必須在應用程式結束之前完成此動作。
 
剪貼簿CopyWithRectangle 用於 ICB_Cut 模式時,會刪除分割成兩個或多個筆劃的筆劃,並在其位置新增筆劃。

此外, InkAddedInkDeleted 事件是根據筆劃的索引產生。 例如,如果要刪除索引 0,1,3,5 和 6 的筆劃,則會產生兩個事件;一個用於索引為 0123 的筆劃,另一個用於索引為 5 和 6 的筆劃。 也就是說,每個連續集合都有一個事件。

這也適用于 InkAdded 事件。 內部演算法會決定筆劃集合中新增之筆劃的索引,這會影響 InkAdded 事件如何引發,如上所述。

如果在事件處理常式內查詢筆劃計數,結果就是整個作業所新增的筆劃總數,包括尚未產生事件的筆劃。

需求

   
最低支援的用戶端 Windows XP Tablet PC Edition [僅限傳統型應用程式]
最低支援的伺服器 都不支援
目標平台 Windows
標頭 msinkaut.h
程式庫 InkObj.dll

另請參閱

ClipboardCopy 方法

IInkDisp

InkClipboardFormats 列舉

InkClipboardModes 列舉

InkDisp 類別

InkStrokes 集合