阅读:2074回复:4
我的代码错在那里?
我想实现很简单的功能:就是选中面或是点,这个面(点)就闪烁3次,但是我用自己做的Shape文件就实现不了,而用别人的就没问题!
那位兄弟帮忙看一下?DATA压缩包中的有两个文件:一个是CAPITALS.SHP,另一个是out.SHP(这个是我自己做的),代码如下(VB6): Option Explicit Dim recs As MapObjects2.Recordset Dim fld As MapObjects2.Field Dim lyr As New MapObjects2.MapLayer Dim np As MapObjects2.Point Dim sym As New MapObjects2.Symbol Private Sub Form_Load() Set lyr = Map1.Layers(0) sym.Color = moLightYellow sym.Outline = True sym.OutlineColor = moRed sym.Style = moSolidFill End Sub Public Sub Search(X As Single, Y As Single) Dim isNotNull As Boolean On Error Resume Next Set lyr = New MapLayer Set lyr = Map1.Layers(0) Set np = Map1.ToMapPoint(X, Y) Set recs = lyr.SearchByDistance(np, 1, "") Set np = Nothing Set np = recs.Fields("shape").Value Map1.FlashShape recs.Fields("shape").Value, 3 Map1.TrackingLayer.Refresh True End Sub Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE) If Not np Is Nothing Then Map1.DrawShape np, sym End If End Sub Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Search X, Y End Sub <a href="attachment/200382111565594609.rar">200382111565594609.rar</a> |
|
1楼#
发布于:2003-08-21 12:52
多谢老兄提醒!
|
|
2楼#
发布于:2003-08-21 16:40
问题解决了,多谢两位兄台!
|
|