mapx实现热点效果
当鼠标移动到图元上方时,标注改变样式(变色,加下划线等),移开后还原。通过vb+mapx基本实现这个效果,但由于mapx在label进行变化时的刷新很明显,达不到希望的效果。把代码留下。
Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
'StatusBar1.Panels(1).Text = X & "," & Y
Dim Lon As Double
Dim lat As Double
Dim fs As Features
Dim pnt As New Point
Dim lb As MapXLib.Label '±ê×¢¶ÔÏó
Map1.ConvertCoord x, y, Lon, lat, miScreenToMap
pnt.Set Lon, lat
Set fs = Map1.Layers(PLayer).SearchAtPoint(pnt)
If fs.Count > 0 Then '¶¨Î»¶ÔÏó
If Not curftr Is Nothing Then If curftr = fs.Item(1) Then Exit Sub '·ÀÖ¹Öظ´ÉèÖÃ
Set lb = GetLabel(fs.Item(1).FeatureKey, Map1.Layers(PLayer).Labels)
If Not lb Is Nothing Then 'Ϊ±ê×¢¼ÓÏ»®ÏßЧ¹û
lb.Style.TextFont.Underline = True
Set curftr = fs.Item(1)
'fs.Item(1).Update
End If
Map1.MousePointer = miCustomCursor 'Êó±êÑùʽ
Else
If Not curftr Is Nothing Then '»¹ÔÏ»®Ïß״̬
Set lb = GetLabel(curftr.FeatureKey, Map1.Layers(PLayer).Labels)
lb.Style.TextFont.Underline = False
'curftr.Update
Set curftr = Nothing
Frame1.Visible = False 'Òþ²Øµ¯³ö²Ëµ¥
End If
Map1.MousePointer = miArrowCursor
End If
End Sub
Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
'StatusBar1.Panels(1).Text = X & "," & Y
Dim Lon As Double
Dim lat As Double
Dim fs As Features
Dim pnt As New Point
Dim lb As MapXLib.Label '±ê×¢¶ÔÏó
Map1.ConvertCoord x, y, Lon, lat, miScreenToMap
pnt.Set Lon, lat
Set fs = Map1.Layers(PLayer).SearchAtPoint(pnt)
If fs.Count > 0 Then '¶¨Î»¶ÔÏó
If Not curftr Is Nothing Then If curftr = fs.Item(1) Then Exit Sub '·ÀÖ¹Öظ´ÉèÖÃ
Set lb = GetLabel(fs.Item(1).FeatureKey, Map1.Layers(PLayer).Labels)
If Not lb Is Nothing Then 'Ϊ±ê×¢¼ÓÏ»®ÏßЧ¹û
lb.Style.TextFont.Underline = True
Set curftr = fs.Item(1)
'fs.Item(1).Update
End If
Map1.MousePointer = miCustomCursor 'Êó±êÑùʽ
Else
If Not curftr Is Nothing Then '»¹ÔÏ»®Ïß״̬
Set lb = GetLabel(curftr.FeatureKey, Map1.Layers(PLayer).Labels)
lb.Style.TextFont.Underline = False
'curftr.Update
Set curftr = Nothing
Frame1.Visible = False 'Òþ²Øµ¯³ö²Ëµ¥
End If
Map1.MousePointer = miArrowCursor
End If
End Sub
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」