10楼#
发布于:2005-03-08 14:37
'功能:符号初始化
Private Sub SymbolInit() Dim pFcolor As IColor Dim pOcolor As IColor Dim pTrackcolor As IColor Dim pVcolor As IColor Set pFcolor = New RgbColor Set pOcolor = New RgbColor Set pTrackcolor = New RgbColor Set pVcolor = New RgbColor pFcolor.RGB = RGB(255, 0, 0) pOcolor.RGB = RGB(0, 0, 255) pTrackcolor.RGB = RGB(0, 255, 255) pVcolor.RGB = RGB(0, 255, 0) Set m_MarkerSym = New SimpleMarkerSymbol m_MarkerSym.Style = esriSMSCircle m_MarkerSym.Color = pFcolor m_MarkerSym.Outline = True m_MarkerSym.OutlineColor = pOcolor m_MarkerSym.OutlineSize = 1 Set m_VertexSym = New SimpleMarkerSymbol m_VertexSym.Style = esriSMSSquare m_VertexSym.Color = pVcolor m_VertexSym.Size = 4 Set m_EndPointSym = New SimpleMarkerSymbol m_EndPointSym.Style = esriSMSSquare m_EndPointSym.Color = pFcolor m_EndPointSym.Size = 4 Set m_LineSym = New SimpleLineSymbol m_LineSym.Color = pFcolor m_LineSym.Width = 1 Set m_TracklineSym = New SimpleLineSymbol m_TracklineSym.Color = pTrackcolor m_TracklineSym.Width = 1 Dim pOsym As ISimpleLineSymbol Set pOsym = New SimpleLineSymbol pOsym.Color = pOcolor pOsym.Width = 1 Set m_FillSym = New SimpleFillSymbol m_FillSym.Color = pFcolor m_FillSym.Style = esriSFSVertical m_FillSym.Outline = pOsym End Sub |
|
|
11楼#
发布于:2005-03-08 14:28
示意代码中关键的显示部分没有贴出来哦 老大 SymbolInit, displayGraphic这两个函数蛮关键呀 主要就是看节点如何显示出来的呀 谢谢了 <img src="images/post/smile/dvbbs/em02.gif" />
|
|
12楼#
发布于:2005-03-08 12:52
谢谢哈 谢谢老大 我试试 <img src="images/post/smile/dvbbs/em05.gif" />
|
|
13楼#
发布于:2005-03-08 10:41
<P>'功能:显示地物节点
Public Sub ShowAllVertex() On Error GoTo errHandle: Dim ff_t_FeatureCursor As IFeatureCursor Dim ff_t_pFeature As IFeature If ff_m_CurLayer Is Nothing Then Exit Sub '获取选中的地物 Set ff_t_FeatureCursor = GetSelectedFeatures If ff_t_FeatureCursor Is Nothing Then Exit Sub '得到要显示节点的地物 Set ff_t_pFeature = ff_t_FeatureCursor.NextFeature If ff_t_pFeature Is Nothing Then Exit Sub '只选中一个地物进行节点移动 ff_m_Map.ClearSelection ff_m_Map.SelectFeature ff_m_CurLayer, ff_t_pFeature Set ff_m_ActiveView = ff_m_Map ff_m_ActiveView.Refresh '如果为点状地物,不显示节点 If ff_t_pFeature.Shape.GeometryType = esriGeometryPoint Then Exit Sub Dim pFeatureArray As IArray Set pFeatureArray = New esriSystem.Array pFeatureArray.Add ff_t_pFeature '符号初始化 Call SymbolInit Dim pFeature As IFeature Dim pPointCol As IPointCollection Dim pPoint As IPoint Dim i As Long, j As Long Set m_VertexGeoBag = New GeometryBag For i = 0 To pFeatureArray.Count - 1 Set pFeature = pFeatureArray.Element(i) Set pPointCol = pFeature.ShapeCopy For j = 0 To pPointCol.PointCount - 1 Set pPoint = pPointCol.Point(j) If j = 0 Or j = pPointCol.PointCount - 1 Then displayGraphic pPoint, , m_EndPointSym pPoint.ID = 10 Else displayGraphic pPoint, , m_VertexSym pPoint.ID = 100 End If m_VertexGeoBag.AddGeometry pPoint Next j Next i '显示节点鼠标状态 m_blnShowVertexStatus = True Exit Sub errHandle: MsgBox Err.Description, vbOKOnly, "错误"</P><P>End Sub</P> |
|
|
上一页
下一页