共用方式為


剪貼簿: 複製和貼上資料

本主題將說明實作複製和貼上在 OLE 應用程式中的 [剪貼簿] 複製所需的最少工作。 建議您閱讀資料物件與資料來源 (OLE) 之前的主題。

您可以實作複製或是貼上之前,您必須先提供函式,以處理在 [編輯] 功能表上的 [複製]、 [剪下] 及 [貼上選項。

複製或剪下資料

若要將資料複製到剪貼簿

  1. 決定是否要複製的資料是原生的資料,或者是內嵌或連結的項目。

    • 如果資料是內嵌或連結,取得變數的指標, COleClientItem已選取的物件。

    • 如果資料是原生應用程式是一個伺服器,建立新物件衍生自COleServerItem包含選取的資料。 否則,請建立COleDataSource物件的資料。

  2. 呼叫選取的項目CopyToClipboard成員函式。

  3. 如果使用者選擇 [剪下的作業,而不複製作業,請從您的應用程式刪除選取的資料。

若要查看此順序的範例,請參閱 OnEditCutOnEditCopy 中 MFC OLE 函式範例程式 OCLIENTHIERSVR。 請注意,這些範例會維護所選取的資料指標,所以已完成步驟 1。

貼上資料

貼上資料就變得更加複雜比複製它,因為您必須選擇要將資料貼到您的應用程式中使用的格式。

若要貼上剪貼簿的資料

  1. 在您的檢視類別中實作 OnEditPaste 以處理使用者從 [編輯] 功能表中選擇 [貼上] 選項。

  2. OnEditPaste 函式,建立COleDataObject物件及呼叫其AttachClipboard成員函式以這個物件連結到 [剪貼簿] 上的資料。

  3. 呼叫COleDataObject::IsDataAvailable來檢查是否可以使用特定的格式。

    或者,您可以使用COleDataObject::BeginEnumFormats ,找尋其他格式,直到找到最適合您的應用程式。

  4. 執行貼上動作的格式。

如需如何運作的範例,請參閱實作 OnEditPaste 在 MFC OLE 範例程式中所定義的檢視類別的成員函式 OCLIENTHIERSVR

提示

區隔貼上作業執行它自己的函式的主要優點是當資料放在您的應用程式拖放作業期間可以使用相同的貼上程式碼。OCLIENT 和 HIERSVR,請按照您OnDrop函式也可以呼叫 DoPasteItem,重複使用來完成貼上操作所撰寫的程式碼。

若要處理在 [編輯] 功能表上的 [選擇性貼上] 選項,請參閱主題 OLE 對話塊

2ca18w7k.collapse_all(zh-tw,VS.110).gif您還想知道關於哪些方面的詳細資訊?

請參閱

參考

剪貼簿: 使用 OLE 剪貼簿機制