容器:用戶端項目狀態
本文說明用戶端專案在其存留期內通過的不同狀態。
用戶端專案會在建立、啟動、修改及儲存時通過數種狀態。 每次專案的狀態變更時,架構都會使用 OLE_CHANGED_STATE 通知呼叫 COleClientItem::OnChange 。 第二個參數是 列舉中的 COleClientItem::ItemState
值。 可以是下列其中一項:
COleClientItem::emptyState
COleClientItem::loadedState
COleClientItem::openState
COleClientItem::activeState
COleClientItem::activeUIState
在空狀態中,用戶端專案尚未完全是專案。 記憶體已配置給它,但尚未使用 OLE 專案的資料初始化。 這是用戶端專案透過 呼叫 new
建立時的狀態,但尚未經歷一般雙步驟建立的第二個步驟。
在第二個步驟中,透過呼叫 COleClientItem::CreateFromFile
或其他 CreateFrom
xxxx 函式來執行,專案會完全建立。 OLE 資料(來自檔案或其他來源,例如剪貼簿)已與 COleClientItem
衍生物件相關聯。 現在專案處於載入狀態。
當專案在伺服器的視窗中開啟,而不是在容器的檔中就地開啟時,它處於開啟狀態(或完全開啟)。 在此狀態下,交叉線通常會繪製在容器視窗的專案標記法上,以指出專案在其他地方處於作用中狀態。
當專案已就地啟動時,它通常會透過作用中狀態短暫地通過。 然後,它會進入 UI 使用中狀態,伺服器已將其功能表、工具列和其他使用者介面元件與容器的功能表、工具列和其他使用者介面元件合併。 這些使用者介面元件的存在可區分 UI 作用中狀態與作用中狀態。 否則,作用中狀態類似于 UI 使用中狀態。 如果伺服器支援復原,伺服器必須保留 OLE 專案的復原狀態資訊,直到它達到已載入或開啟狀態為止。