信息化 频道

<连载>Protel二次开发从入门到精通

  4.3.15 ClientApi_LoadDocument过程

声明(来自ClientProcs单元):

Procedure ClientApi_LoadDocument(DocumentLoader: TObjectHandle;

ADocumentEntity : TObjectHandle;

Scope: TLoadScope;

EditorKinds: TString);

描述:

ClientApi_LoadDocument过程加载一个指定编辑器种类的文档。

例子:

ValidLoader := ClientApi_CreateDocumentLoader;

//ClientAPI_CreateDocumentLoader函数在设计资源管理器内创建一个内部的列表。

If ValidLoader = 0 Then Exit;//如果列表没有建立成功则退出。

EntityHandle :=

ClientApi_FindEntityByDataHandle(MessageRouter_GetState_CurrentEditorWindow);

//MessageRouter_GetState_CurrentEditorWindow函数返回当前在项层的文档的窗体句柄。当前在项层在文档的窗体句柄。

//ClientApi_FindEntityByDataHandle 函数使用一个编辑器窗体句柄来返回查找返回一个实体的句柄。

ClientApi_LoadDocument(ValidLoader,Entityhandle,eLoadAllDocumentsInHierarchy,‘Sch’);

//把当前实体按原理图SCH加载到ValidLoader列表中。eLoadAllDocumentsInHierarchy表示所有文档加载在同一个层中。

ClientApi_DestroyDocumentLoader(validLoader);//销毁列表。

此例子加载一个原理图项目中的原理图文档。

参见其它:

ClientAPI_CreateDocument过程

ClientApi_LoadDocument过程

ClientApi_DestroyDocumentLoader过程

ClientApi_DestroyDocumentLoader过程

  4.3.16 ClientApi_OLEDocumentIsCertified函数

声明(来自ClientProcs单元):

Function ClientApi_OLEDocumentIsCertified(ProgID : TString) : TBoolean;

描述:

ClientApi_OLEDocumentIsCertified函数接受OLE类名称作为一个字符串,并且返回此文档是否是被创建在一个OLE应用程序中的逻辑值。

  4.3.17 ClientApi_OpenDocumentEntity过程

声明(来自ClientProcs单元):

Procedure ClientApi_OpenDocumentEntity(ADocumentEntity : TObjectHandle; NewView : TBoolean);

描述:

ClientApi_OpenDocumentEntity过程打开一个设计数据库中的文档实体窗口,NewView参数为True文档将被显示在窗体中,为False显示在设计资源管理器中。OLE文档将被在与它们相匹配的OLE应用程序中打开。

例子:

Entity := TDocumentEntity.Create(EntityHandle);//创建一个实体。

Entity.QueryDatabase(eGetState);//同步数据。

If Entity.ObjectHandle = 0 Then //没有窗体。

Begin

ClientApi_OpenDocumentEntity(EntityHandle, False);//在窗体中打开文档。

Entity.QueryDatabase(eGetState);//同步数据

End

Else

ClientApi_SetAsCurrentDocument(EntityHandle);

//ClientApi_SetAsCurrentDocument函数设置一个打开的文档实体作为当前焦点或在设计资源管理器中活动文档。用当前焦点窗体打开文档。

Result := Entity.ObjectHandle;

Entity.Free;

此代码片段示范如何使用ClientAPI_OpenDocumentEntity过程,如果实体的“ObjectHandle”是零(意味着没有窗体),那么此过程打开实体窗体并且返回此文档实体窗体句柄。然而如果实体的窗体句柄不是零,ClientApi_SetAsCurrentDocument过程确保此实体窗体被激活。

参见其它:

ClientApi_SetAsCurrentDocument函数

TDocumentEntity类

  4.3.18 ClientApi_PerformAutoZoomForDocumentEntity过程

声明(来自ClientProcs单元):

Procedure ClientApi_PerformAutoZoomForDocumentEntity(ADocumentEntity : TObjectHandle);

描述:

带有文档实体句柄的ClientApi_PerformAutoZoomForDocumentEntity过程在设计资源管理器中对文档执行自动缩放,也就是说,一个文档被完整地在文档窗体中以整页尺寸方式显示。

  4.3.19 ClientApi_PerformBackupSaveForDocumentEntity过程

声明(来自ClientProcs单元):

Procedure ClientApi_PerformBackupSaveForDocumentEntity(ADocumentEntity : TObjectHandle; ABackupFileName : TString);

描述:

ClientApi_PerformBackupSaveForDocumentEntity过程通过文档实体句柄和备份文件名称两个参数来备份设计数据库的文档实体,此文档实体被作为一个文件保存在此服务器DLL文件所在的目录中。

0
相关文章