共用方式為


IPaperSink 方法

COPaper 會公開 IConnectionPointContainer 介面,讓用戶端可以連線到 COPaper,以接收 COPaper 中發生之指定事件的通知。 藉由公開此介面,COPaper 會變成可連接的物件。 用戶端可以呼叫這個介面的 QueryInterface ,並用它來取得物件的連接點。 此配置的用戶端參與涵蓋在相關聯的 StoClien 範例中。

基本上,用戶端會實作使用接收介面的接收物件形式來實作稱為接收的內容。 接收介面會在用戶端正確連線到 COPaper 實例之後,從 COPaper 接收傳出事件通知呼叫。 用戶端會使用 COPaper 所管理的連接點物件來建立連接。 單一可連接 COM 物件上可能會有許多連接點。 在 StoServe 範例中,COPaper 只有一個連接點可處理繪圖紙張事件。

任意數目的用戶端都可以連線到單一連接點。 COPaper 中的CONNPOINT_PAPERSINK連接點會維護可在執行時間動態成長的連線群組。 COPaper 可連線物件支援的完整詳細資料會編碼在 CONNECT 檔案中。H 和 CONNECT。此處不會涵蓋 CPP 和 。 建構非常類似于 CONSERVE 程式碼範例中所研究的內容。

StoClien用戶端會針對預期在 COPaper 中找到的連接點實作適當的接收物件。 從 COPaper 的內容中, StoClien 實作的重要接收物件會公開 IPaperSink 介面。 這是 COPaper 用來通知 StoClien COPaper 中各種事件的傳出介面。

以下是來自 IPAPER 之 IPaperSink 中方法的摘要。\INC 同層級目錄中的 H。

方法 Description
已鎖定 用戶端已控制並鎖定紙張。
已解除鎖定 用戶端已放棄紙張的控制。
已載入 用戶端已從自己的複合檔案載入紙張內容。
已儲存 用戶端已將紙張內容儲存至自己的複合檔案。
InkStart 用戶端已啟動紙張的色彩筆跡繪圖順序。
InkDraw 用戶端會將筆跡資料點放在紙張表面。
InkStop 用戶端已停止其筆跡繪圖順序至紙張。
刪除 用戶端已清除紙張中的所有筆跡資料。
調整 用戶端已調整紙張大小。

 

這些方法大致上是一目了然。 雖然接收必須以某種方式實作所有這些方法,但許多方法會實作為存根,而且不會在StoServe/StoClien範例中使用。

這些範例中使用的重要方法是 Loaded 方法。 當用戶端告知 COPaper 從檔案載入新的繪圖時,需要一種方式,才能在載入新資料時通知用戶端。 若要這樣做,COPaper 會在用戶端接收上呼叫 IPaperSink::Loaded 。 然後,用戶端可以呼叫 IPaper::Redraw ,要求 COPaper 將新資料播放至用戶端。 重繪會導致重新繪製用戶端顯示器中載入的繪圖。 當載入完成時,新載入的繪圖會自動顯示在用戶端提供的視窗中。

如需此 IPaper 方法與IPaperSink連線的完整資訊,請參閱IPaper::Redraw

InkStartInkDrawInkStopIPaperSink方法可用來將個別筆跡資料封包傳送回用戶端。 在接收時,用戶端會以與原先傳送給 COPaper 時相同的方式,以其顯示方式繪製它們。 上述邏輯已足夠一般,可讓多個在相同CONNPOINT_PAPERSINK連接點上接聽的用戶端。 如果這些用戶端共用了通用 COPaper 實例,則它們都可以透過連線到這個連接點來顯示相同的繪圖。