janecat
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数50
  • QQ
  • 铜币371枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2159回复:3

有表查图如何保留颜色?

楼主#
更多 发布于:2003-09-29 08:26
有表查图,选中某条纪录后对应的图形会闪亮并变颜色,如何将颜色保留下来,查询结束时在恢复原来。
喜欢0 评分0
tim
tim
路人甲
路人甲
  • 注册日期2003-07-31
  • 发帖数37
  • QQ
  • 铜币200枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2003-09-29 16:13
在aftertrackinglayerdraw事件中重画该记录图形实体。
举报 回复(0) 喜欢(0)     评分
janecat
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数50
  • QQ
  • 铜币371枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2003-09-30 12:52
能给点代码实例吗?
我最后还要恢复原来的颜色?
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2003-09-30 13:24
以下是引用janecat在2003-9-30 12:52:38的发言:
能给点代码实例吗?
 我最后还要恢复原来的颜色?


一个程序里的函数,看看吧,清楚不就用refresh或者clear就行,帮助里都有啦
Private Sub DrawSpatialRecordset(recs As MapObjects2.Recordset, color, Style)
  
  On Error Resume Next
  If Not recs Is Nothing Then
    Dim sym As New MapObjects2.symbol
    Dim fld As MapObjects2.Field
    sym.color = color
    If Style = moTransparentFill Then sym.OutlineColor = color
    sym.Style = Style
    Set fld = recs("Shape")
    If recs.count = 0 Then Exit Sub
    recs.MoveFirst     ' reset the cursor
    Do While Not recs.EOF ' loop through the records
      frmMain.Map1.DrawShape fld.Value, sym  '主要就是这里了
      recs.MoveNext
    Loop
  End If

  
End Sub
举报 回复(0) 喜欢(0)     评分
游客

返回顶部