mod_flash.bas
来自「ArcEngine 这是基于AE组件的源代码」· BAS 代码 · 共 89 行
BAS
89 行
Attribute VB_Name = "Mod_flash"
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub FlashLine(pDisplay As IScreenDisplay, pGeometry As IGeometry)
Dim pLineSymbol As ISimpleLineSymbol
Dim pSymbol As ISymbol
Dim pRGBColor As IRgbColor
Set pLineSymbol = New SimpleLineSymbol
pLineSymbol.Width = 4
Set pRGBColor = New RgbColor
pRGBColor.Green = 128
Set pSymbol = pLineSymbol
pSymbol.ROP2 = esriROPNotXOrPen
pDisplay.SetSymbol pLineSymbol
pDisplay.DrawPolyline pGeometry
Sleep 300
pDisplay.DrawPolyline pGeometry
End Sub
Private Sub FlashPolygon(pDisplay As IScreenDisplay, pGeometry As IGeometry)
Dim pFillSymbol As ISimpleFillSymbol
Dim pSymbol As ISymbol
Dim pRGBColor As IRgbColor
Set pFillSymbol = New SimpleFillSymbol
pFillSymbol.Outline = Nothing
Set pRGBColor = New RgbColor
pRGBColor.Green = 128
Set pSymbol = pFillSymbol
pSymbol.ROP2 = esriROPNotXOrPen
pDisplay.SetSymbol pFillSymbol
pDisplay.DrawPolygon pGeometry
Sleep 300
pDisplay.DrawPolygon pGeometry
End Sub
Private Sub FlashPoint(pDisplay As IScreenDisplay, pGeometry As IGeometry)
Dim pMarkerSymbol As ISimpleMarkerSymbol
Dim pSymbol As ISymbol
Dim pRGBColor As IRgbColor
Set pMarkerSymbol = New SimpleMarkerSymbol
pMarkerSymbol.Style = esriSMSCircle
Set pRGBColor = New RgbColor
pRGBColor.Green = 128
Set pSymbol = pMarkerSymbol
pSymbol.ROP2 = esriROPNotXOrPen
pDisplay.SetSymbol pMarkerSymbol
pDisplay.DrawPoint pGeometry
Sleep 300
pDisplay.DrawPoint pGeometry
End Sub
Public Sub FlashFeature(pFeature As iFeature, iMap As iMap)
Dim pActiveView As IActiveView
Set pActiveView = iMap
' Start Drawing on screen
pActiveView.ScreenDisplay.StartDrawing 0, esriNoScreenCache
' Switch functions based on Geomtry type
Select Case pFeature.Shape.GeometryType
Case esriGeometryPolyline
FlashLine pActiveView.ScreenDisplay, pFeature.Shape
Case esriGeometryPolygon
FlashPolygon pActiveView.ScreenDisplay, pFeature.Shape
Case esriGeometryPoint
FlashPoint pActiveView.ScreenDisplay, pFeature.Shape
End Select
' Finish drawing on screen
pActiveView.ScreenDisplay.FinishDrawing
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?