阅读:1369回复:2
这个应该是最基本的啊!
<P> </P>
<P>这个应该是最基本的啊!</P> <P>已经搞了好几天了,仍然没有结果</P> <P>只要图斑闪烁一下,就行</P> <P>不用IdentifyDialog实现,ae中没有这个功能</P> |
|
1楼#
发布于:2007-09-04 11:52
<PRE>你可以在论坛搜索下"闪烁"等关键字,可以得出以前的很多讨论以及结果</PRE><PRE>你先找到 feature的geometry ,然后闪烁,可以参照下面的函数</PRE><PRE> </PRE><PRE>Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)<BR><BR>Public Sub FlashGeometry(pGeo As IGeometry, pMap As IMap, Optional iInterval As Integer = 300)<BR> 'iInterval is in milliseconds<BR> <BR> Dim pSimpleLineSymbol As ILineSymbol, pSimpleFillSymbol As ISimpleFillSymbol<BR> Dim pSimpleMarkersymbol As ISimpleMarkerSymbol, pActive As IActiveView<BR> Dim pSymbol As ISymbol, pDisplay As IScreenDisplay, pColor As IRgbColor<BR><BR> Set pColor = New RgbColor<BR> pColor.Red = 50<BR> pColor.Blue = 175<BR> pColor.Green = 50<BR> Set pActive = pMap<BR> Set pDisplay = pActive.ScreenDisplay<BR> <BR> pDisplay.StartDrawing 0, esriNoScreenCache<BR> <BR> Select Case pGeo.GeometryType<BR> Case esriGeometryPolyline<BR> Set pSimpleLineSymbol = New SimpleLineSymbol<BR> Set pSymbol = pSimpleLineSymbol 'QI<BR> pSymbol.ROP2 = esriROPNotXOrPen 'erase itself when drawn twice<BR> pSimpleLineSymbol.Width = 4<BR> pSimpleLineSymbol.Color = pColor<BR> pDisplay.SetSymbol pSimpleLineSymbol<BR> pDisplay.DrawPolyline pGeo<BR> Sleep iInterval<BR> pDisplay.DrawPolyline pGeo<BR> Case esriGeometryPolygon<BR> Set pSimpleFillSymbol = New SimpleFillSymbol<BR> Set pSymbol = pSimpleFillSymbol<BR> pSymbol.ROP2 = esriROPNotXOrPen<BR> pSimpleFillSymbol.Color = pColor<BR> pDisplay.SetSymbol pSimpleFillSymbol<BR> pDisplay.DrawPolygon pGeo<BR> Sleep iInterval<BR> pDisplay.DrawPolygon pGeo<BR> Case esriGeometryPoint<BR> Set pSimpleMarkersymbol = New SimpleMarkerSymbol<BR> Set pSymbol = pSimpleMarkersymbol<BR> pSymbol.ROP2 = esriROPNotXOrPen<BR> pSimpleMarkersymbol.Color = pColor<BR> pSimpleMarkersymbol.Size = 12<BR> pDisplay.SetSymbol pSimpleMarkersymbol<BR> pDisplay.DrawPoint pGeo<BR> Sleep iInterval<BR> pDisplay.DrawPoint pGeo<BR> Case esriGeometryMultipoint<BR> Set pSimpleMarkersymbol = New SimpleMarkerSymbol<BR> Set pSymbol = pSimpleMarkersymbol<BR> pSymbol.ROP2 = esriROPNotXOrPen<BR> pSimpleMarkersymbol.Color = pColor<BR> pSimpleMarkersymbol.Size = 12<BR> pDisplay.SetSymbol pSimpleMarkersymbol<BR> pDisplay.DrawMultipoint pGeo<BR> Sleep iInterval<BR> pDisplay.DrawMultipoint pGeo<BR> Case Else ' Other type<BR> End Select<BR> <BR> pDisplay.FinishDrawing<BR>End Sub<BR></PRE>
|
|
|
2楼#
发布于:2007-09-04 14:27
<img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|