mylovecad 发表于 2003-4-6 18:58:00

请问VBA或VB如何实现图形的动态轨迹?

请问VBA或VB如何实现图形的动态轨迹?就象画圆或画直线一样,有一个虚的图形跟随你的鼠标在移动,直到鼠标单击确定后,虚的图形才最后确定下来。谢谢!

bingshan23 发表于 2023-6-14 10:54:52

以后学习,先记下

mccad 发表于 2003-4-7 20:44:00

没办法

cag 发表于 2003-6-28 12:18:00

有办法

李勇 发表于 2003-6-29 10:01:00

说具体点?

说具体点嘛,不要老是说一半就退了.

cag 发表于 2003-7-1 08:37:00

本帖最后由 作者 于 2003-11-13 19:03:04 编辑

acadx.arx


在下面不能发布只能写在这了:
看一下我写的这个倒角标注程序,是引用acadx.arx做的,如不能用,引用一下acadx.arx就行了
efan兄的这个dll是用vb写的?高手哦,能否上传一下源程序?不过速度好象很慢,可能实用性不强,

莫名 发表于 2003-9-30 23:52:00

CAG:你好!
具体办法如何!
若不便上传,发到:hdc@19.cn
谢谢!

efan2000 发表于 2003-10-1 00:02:00

自己做了个,可以看看效果。

在VBA中实现鼠标事件
该组件可以实现鼠标的按下、弹起、双击和移动的事件捕捉。
注意:Enabled属性设置为True表示允许事件的触发,之后一定要将其设置为False,表示不再处理。

code:   
引用EFAN Hook AutoCAD Tool Library 1.0动态链接库。

Private WithEvents ehObj As EFHook.Hook

Private Sub ehObj_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    ThisDrawing.ModelSpace(0).TextString = Round(ehObj.ConvertScreenToWorldX(X, Y) + 0.0000000001, 4) & "," & Round(ehObj.ConvertScreenToWorldY(X, Y) + 0.0000000001, 4)
    ThisDrawing.ModelSpace(0).Update
End Sub

Private Sub test()

    On Error GoTo ErrTrap
    Set ehObj = New Hook
    ehObj.Enabled = True
    ThisDrawing.Utility.GetPoint
    ehObj.Enabled = False
    Set ehObj = Nothing
    Exit Sub
   
ErrTrap:
    ehObj.Enabled = False
    Set ehObj = Nothing
End Sub

附件: efhook.rar (文件大小:9,582 byte)

zeng29 发表于 2003-10-5 09:36:00

看来这个话题是热门话题,我前几天也发过同样的问题,一直找不到好的解决方法,而这方面的资料几乎为零.
efan兄采用钩子程序捕捉鼠标事件的方法比较特殊,可以实时改变对象,但效果似乎与AutoCAD的内部命令(如比例,直线,旋转,粘贴)执行时的预览图象不太一样.
cag兄提到的作用acadx.arx,可否祥细一点,大家可以借鉴一下.

gzy 发表于 2003-10-5 13:01:00

我见我老师做过,就像复制时候那个虚拟的圆一样,我也想来讨论讨论!

zeng29 发表于 2003-10-6 16:11:00

我觉得这个问题应该作为一个课题来研究.
页: [1] 2
查看完整版本: 请问VBA或VB如何实现图形的动态轨迹?