wang_qiang 发表于 2012-5-5 16:38:29

怎样实现鼠标悬停时显示Xdata中的内容

我在对象(如直线)中已附加了Xdata数据,在鼠标悬停在该直线上时,想自动弹出个窗体来显示Xdata数据,请问该怎样实现,谢谢大家。

zfcdage 发表于 2017-12-27 18:30:02

Mark,回头看看,有没有编程实现设置
【系统的悬停提示关闭了
在选项的显示选项卡里面可以关闭】的?

yanguangfei 发表于 2012-5-5 20:06:18

一会传你一个

yanguangfei 发表于 2012-5-5 21:32:22

声明版权归不死猫所有

wang_qiang 发表于 2012-5-5 21:58:27

感谢回复。
抱歉,我的明币不足,请问有VB.net的示例代码吗?期待中…………

sailorcwx 发表于 2012-5-9 12:30:43

用pointmonitor,官方教程有

ps122hb 发表于 2012-5-10 09:29:54

sailorcwx 发表于 2012-5-9 12:30 static/image/common/back.gif
用pointmonitor,官方教程有

能具体说明吗?找了下没找到

wang_qiang 发表于 2012-5-11 21:41:13

多谢回复

示例代码严重期待中

wang_qiang 发表于 2012-5-11 23:05:32

已OK了


Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.GeomeTry
Imports Autodesk.AutoCAD.Runtime

Namespace tooltip
    Public Class Class1
      Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
      <CommandMethod("TestOn")> _
               Public Sub MyTestOn()
            AddHandler ed.PointMonitor, New PointMonitorEventHandler(AddressOf ed_PointMonitor)
      End Sub

      <CommandMethod("TestOff")> _
      Public Sub MyTestOff()
            RemoveHandler ed.PointMonitor, New PointMonitorEventHandler(AddressOf ed_PointMonitor)
      End Sub

      Private Sub ed_PointMonitor(ByVal sender As Object, ByVal e As PointMonitorEventArgs)
            Dim db As Database = HostApplicationServices.WorkingDatabase
            Dim ipc As InputPointContext = e.Context
            Dim ePaths() As FullSubentityPath = ipc.GetPickedEntities()
            If ePaths.Length > 0 Then
                Dim ePath As FullSubentityPath = ePaths(0)
                Dim trans As Transaction = db.TransactionManager.StartTransaction()
                Dim entId As ObjectId = ePath.GetObjectIds()(0)
                Dim ent As Entity = CType(trans.GetObject(entId, OpenMode.ForRead), Entity)
                e.AppendToolTipText(vbCrLf & "这是 :" + ent.GetType().FullName)
                trans.Commit()
            End If
      End Sub
    End Class
End Namespace

wang_qiang 发表于 2012-5-14 22:13:15

上面的代码,我在2007中试没问题,但在2010中却显示不出来。好像
“e.AppendToolTipText(vbCrLf & "这是 :" + ent.GetType().FullName)”
这句没有发生作用,是有什么设置,还是代码有问题,请楼上赐教。多谢

sailorcwx 发表于 2012-5-14 23:29:14

这是因为系统的悬停提示覆盖了你的悬停提示,你可以把系统的悬停提示关闭了
在选项的显示选项卡里面可以关闭
页: [1] 2
查看完整版本: 怎样实现鼠标悬停时显示Xdata中的内容