阅读:2442回复:7
请教:如何保存一个SxD文件
<BR>那位知道如何实现保存SXD 文档,用编程打开SXD很容易,但没有保存的功能。
|
|
1楼#
发布于:2007-04-16 14:35
<P>可以利用IPersistStream接口来保存,可以先看看帮助,具体问题可以到这里讨论</P>IPersistStream Interface (esriSystem)
<br> <p> <p> <P>Product Availability</P>Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. <P>Description</P> <P>IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.</P> |
|
|
2楼#
发布于:2007-04-17 13:04
不知怎么去做,怎么能保存?
|
|
3楼#
发布于:2007-04-17 22:55
<PRE>*******code from Esri*************
Dim pMemoryBlobStream As IMemoryBlobStream Set pMemoryBlobStream = New MemoryBlobStream Dim pObjectStream As IObjectStream Set pObjectStream = New ObjectStream Set pObjectStream.Stream = pMemoryBlobStream Dim pPersistStream As IPersistStream Dim pPageLy as iPageLayout Set pPageLy = pMxDoc.PageLayout Set pPersistStream = pPageLy 'page layout implements ipersiststream only pPersistStream.Save pObjectStream, False pMemoryBlobStream.SaveToFile “C:\Temp\MyFile.blb” 'ipagelayout object is saved to a file '**now I could also retrieve the object from the file like this ***' dim pPageLy1 as iPageLayout set pPageLy1 = new PageLayout Dim pObjectStream As IObjectStream Set pObjectStream = New ObjectStream Dim pMemoryBlobStream As IMemoryBlobStream Set pMemoryBlobStream = New MemoryBlobStream pMemoryBlobStream.LoadFromFile “C:\Temp\MyFile.blb” Dim pPersistStream As IPersistStream Set pPersistStream = pPageLy1 Set pObjectStream.Stream = pMemoryBlobStream pPersistStream.Load pObjectStream 'this would create new page layout object</PRE> |
|
|
4楼#
发布于:2007-04-23 11:26
不错啊,果然可以,而且效果和ArcScene里的文档一样,只是直接用Arcscene打不开,呵呵,实现了,真好。
|
|
5楼#
发布于:2007-05-12 15:09
不错,好
|
|
6楼#
发布于:2007-05-12 18:54
请楼主把打开SXD 文档的代码写出来,让我参考一下吧!
|
|
7楼#
发布于:2007-05-12 22:24
代码写出来吧
|
|