📄 mod_flash.bas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -