容器: 用戶端項目狀態
這篇文章說明不同用戶端項目在存留期中經過的狀態。
用戶端項目會經過數個狀態,如建立、 啟動、 修改和儲存。 每次項目的狀態變更時,架構呼叫 COleClientItem::OnChange 與OLE_CHANGED_STATE通知。 第二個參數是介於 COleClientItem::ItemState 列舉型別。 它可以是下列其中一項:
COleClientItem::emptyState
COleClientItem::loadedState
COleClientItem::openState
COleClientItem::activeState
COleClientItem::activeUIState
在空白狀態下,用戶端項目還不完全的項目。 記憶體已配置給它,但它還尚未初始化 OLE 項目的資料。 這是透過呼叫建立用戶端項目時的狀態新 ,但尚未經過典型的兩個步驟建立第二個步驟。
在第二個步驟中,透過呼叫執行COleClientItem::CreateFromFile或另一部 CreateFromxxxx 函式,完整地建立項目。 (從檔案或其他來源,例如 [剪貼簿]) 的 OLE 資料是與相關聯COleClientItem-衍生物件。 現在項目處於載入的狀態。
當項目具有已在伺服器上的視窗中開啟而非在容器的文件中就地開啟時,就在已開啟 (或完全開啟) 狀態。 在此狀態下,交叉影線通常是繪製在之上的表示法來表示項目為作用中其他地方的容器的視窗中的項目。
當項目就地啟動時,它會傳遞,通常只簡單,透過作用中狀態。 然後,它會進入 UI 作用狀態,它的功能表、 工具列和其他的使用者介面元件與容器的伺服器已經合併。 這些使用者介面元件存在來區別 UI 作用狀態從作用狀態。 否則,作用狀態相似 UI 作用狀態。 如果伺服器支援 [復原],則伺服器會是必需保留 OLE 項目的復原狀態資訊,直到達到載入或開啟狀態。