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
當這個方法傳回時,會包含新建立之資料物件的指標。
傳回值
這個方法可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
參數包含不正確指標。 |
|
方法內發生例外狀況。 |
備註
如果矩形裁剪筆劃,這些筆劃會在複製的資料中裁剪。
當您只想要複製InkDisp物件的屬性時,將InkDisp物件複製到剪貼簿可能很有用。 若要將 InkDisp 物件複製到剪貼簿,請呼叫 ClipboardCopy 方法,並將 strokes 參數設定為 Null。
謹慎 若要避免因為使用 ICB_DelayedCopy 旗標而造成潛在的記憶體流失,您必須呼叫 OleFlushClipboard 或 OleSetClipboard 方法。 如果剪 貼簿CopyWithRectangle 方法的最後一次呼叫使用 ICB_DelayedCopy 旗標,則必須在應用程式結束之前完成此動作。
此外, InkAdded 和 InkDeleted 事件是根據筆劃的索引產生。 例如,如果要刪除索引 0,1,3,5 和 6 的筆劃,則會產生兩個事件;一個用於索引為 0123 的筆劃,另一個用於索引為 5 和 6 的筆劃。 也就是說,每個連續集合都有一個事件。
這也適用于 InkAdded 事件。 內部演算法會決定筆劃集合中新增之筆劃的索引,這會影響 InkAdded 事件如何引發,如上所述。
如果在事件處理常式內查詢筆劃計數,結果就是整個作業所新增的筆劃總數,包括尚未產生事件的筆劃。
需求
最低支援的用戶端 | Windows XP Tablet PC Edition [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | msinkaut.h |
程式庫 | InkObj.dll |