容器:客户端项目状态
本文介绍客户端项目在其生存期通过不同的状态。
,创建对象时,激活,被修改,并保存,客户端项目通过几种状态。 每次项的状态转换,框架调用与 OLE_CHANGED_STATE 通知的 COleClientItem::OnChange 。 第二个参数是从 COleClientItem::ItemState 枚举的值。 它可以是下列操作之一:
COleClientItem::emptyState
COleClientItem::loadedState
COleClientItem::openState
COleClientItem::activeState
COleClientItem::activeUIState
在该空状态,客户端项目不完全是一个项目。 内存为其分配了,则,但未初始化与 OLE 项的数据。 这是客户端项目中的状态时传递给,但尚未通过典型的两个步骤创建的第二个步骤的 new 的调用时创建的。
在第二步,通过调用 COleClientItem::CreateFromFile 或另一个 CreateFromxxxx 功能,项目将被完全创建。 该 OLE 数据 (从一个文件或某个其他源,例如剪贴板) 与 COleClientItem派生的对象。 现在该项目在已填充的状态。
当项目在服务器的窗口中打开了而不是将其打开就地在容器的文档,则在打开 (或完全打开状态)。 此状态,跨阴影线通常绘制在项目中表示在容器窗口的指示该项目在其他位置处于活动状态。
当仍存在时激活的项目,它,通常只为简洁起见,通过活动状态。 然后输入 UI 活动状态,服务器与这些容器合并了其菜单、工具栏和其他用户界面元素。 用户界面元素显示为活动状态区分 UI 活动状态。 否则,活动状态类似于 UI 活动状态。 如果服务器支持取消,需要服务器保留 OLE 项的取消状态信息,直到其达到这个实心或打开状态。