10楼#
发布于:2005-04-19 15:53
不是一般的强啊
|
|
|
11楼#
发布于:2005-04-19 15:11
<P><b><FONT color=#000000>cumtyinpc</FONT></b></P><P><b><FONT color=#000000>能说一下你实现的完整思路吗?</FONT></b></P><P><FONT color=#000000><b>我试了一下</b>ServerStyleGallery没能做出来</FONT></P>
|
|
|
12楼#
发布于:2005-04-19 14:40
<P>ServerStyleGallery </P><P>没用!</P><P>关注中!</P>
|
|
|
13楼#
发布于:2005-04-18 16:55
<P>我前段时间用ARCENGINE对ARCGIS的符号管理器进行了重现.</P><P>用ServerStyleGallery 组件类试一下吧</P>
|
|
14楼#
发布于:2005-04-18 10:51
<P>我也是遇到了相似的问题,有那位做过engine中载入符号库的请指点一下~</P><P>关注中</P>
|
|
|
15楼#
发布于:2005-04-14 10:03
<P>2楼兄弟</P><P>Dim pSymbolGallery As IStyleGallery
Set pSymbolGallery = New StyleGallery 在engine里不支持呀,有别的方法吗???</P><P> <img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em12.gif" /></P> |
|
|
16楼#
发布于:2005-04-14 07:19
谢谢!!!!!!!!<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
17楼#
发布于:2005-04-13 11:21
顶,支持好贴
|
|
18楼#
发布于:2005-04-13 11:02
<U><FONT color=#800080 size=2></FONT></U>
如果是设计符号,用ArcMap 中的 style Manager,如果是调用符号,就用下列代码:<P>'******************************************************************************************* '名 称:SetMarkerSymbol '功能描述:设置并绘制点符号 '传入参数: pMapControl MapControl的指针 ' StyleFilePath 样式库 ' SymbolName 符号名称 ' StyleCategory 符号样式的类型(这里为SZFlood) ' x 点符号的横坐标 ' y 点符号的横坐标 '返回参数: 无 '创建日期: 2005.03.01 '最后更新日期:2005.03.04 '******************************************************************************************* Public Sub SetMarkerSymbol(pMapControl As IMapControl2, StyleFilePath As String, SymbolName As String, StyleCategory As String, X As Long, Y As Long) On Error GoTo err_Handle '首先定义一个地物类对象 Dim pGeom As IGeometry Set pGeom = pMapControl.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y) If pGeom.IsEmpty Then Exit Sub End If '定义一个点对象,并根据数据 Dim pElement As IMarkerElement Dim pE As IElement Set pElement = New MarkerElement Set pE = pElement pE.Geometry = pGeom '根据样式文件和符号名称获取符号 Dim pMarkerSymbol As IMarkerSymbol Set pMarkerSymbol = GetMarkerSymbol(StyleFilePath, SymbolName, StyleCategory) '设置线符号类型 pElement.Symbol = pMarkerSymbol '在MapControl中显示符号 Dim pGraphicContainer As IGraphicsContainer Set pGraphicContainer = pMapControl.ActiveView pGraphicContainer.AddElement pElement, 0 pMapControl.ActiveView.PartialRefresh esriViewGraphics, Nothing, Nothing Exit Sub err_Handle: MsgBox "函数SetLineSymbol出错(" + Err.Description + ")", vbInformation, "提示" End Sub</P><P>'******************************************************************************************* Public Function GetMarkerSymbol(StyleFilePath As String, SymbolName As String, SymbolCatagory As String) As IMarkerSymbol On Error GoTo EH: Set GetMarkerSymbol = GetSymbolFromStyleLib(StyleFilePath, SymbolName, "Marker Symbols", SymbolCatagory) Exit Function EH: MsgBox "函数GetMarkerSymbol出错(" + Err.Description + ")", vbInformation, "提示" End Function</P><P>'*************************************************************************************************** '名 称:GetSymbolFromStyleLib '功能描述:从符号库中获取指定的符号 '传入参数:styleFilePath - 符号库文件路径 ' SymbolName - 符号名称 ' SymbolClass - 符号类型(点状符号、线状符号、面状符号、注记符号) ' SymbolCatagory - 符号属性,这里为SZFlood '返回参数:无 '创建日期:2005.03.01 '最后更新日期:2005.03.01 '*************************************************************************************************** Private Function GetSymbolFromStyleLib(StyleFilePath As String, SymbolName As String, SymbolClass As String, SymbolCatagory As String) As ISymbol On Error GoTo EH: '确认符号名不为空 If Trim(StyleFilePath) = "" Then MsgBox "符号库文件名为空", vbOKOnly, "提示" Set GetSymbolFromStyleLib = Nothing Exit Function End If ' Dim pSymbolGallery As IStyleGallery Set pSymbolGallery = New StyleGallery Dim pStyleStore As IStyleGalleryStorage Set pStyleStore = pSymbolGallery '删除已有的符号库 RemoveStyleFiles pStyleStore pStyleStore.AddFile StyleFilePath '确认pSymbolGallery不为空 If pSymbolGallery Is Nothing Then Set GetSymbolFromStyleLib = Nothing Exit Function End If Dim pEnumStyleItem As IEnumStyleGalleryItem Set pEnumStyleItem = pSymbolGallery.Items(SymbolClass, StyleFilePath, SymbolCatagory) pEnumStyleItem.Reset Dim pStyleItem As IStyleGalleryItem '获取符号库中的符号 Dim bSymbol As Boolean bSymbol = False pEnumStyleItem.Reset Set pStyleItem = pEnumStyleItem.Next Do While Not pStyleItem Is Nothing If pStyleItem.Name = SymbolName Then Set GetSymbolFromStyleLib = pStyleItem.Item bSymbol = True Exit Do End If Set pStyleItem = pEnumStyleItem.Next Loop If bSymbol = False Then MsgBox "符号库中没有该符号", vbOKOnly, "提示" Set GetSymbolFromStyleLib = Nothing End If Exit Function EH: MsgBox "函数GetSymbolFromStyleLib出错(" + Err.Description + ")", vbInformation, "提示" End Function</P> |
|
|
上一页
下一页