请问VBA或VB如何实现图形的动态轨迹?
请问VBA或VB如何实现图形的动态轨迹?就象画圆或画直线一样,有一个虚的图形跟随你的鼠标在移动,直到鼠标单击确定后,虚的图形才最后确定下来。谢谢! 以后学习,先记下没办法
有办法说具体点?
说具体点嘛,不要老是说一半就退了. 本帖最后由 作者 于 2003-11-13 19:03:04 编辑acadx.arx
在下面不能发布只能写在这了:
看一下我写的这个倒角标注程序,是引用acadx.arx做的,如不能用,引用一下acadx.arx就行了
efan兄的这个dll是用vb写的?高手哦,能否上传一下源程序?不过速度好象很慢,可能实用性不强,
CAG:你好!
具体办法如何!
若不便上传,发到:hdc@19.cn
谢谢! 自己做了个,可以看看效果。
在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)
看来这个话题是热门话题,我前几天也发过同样的问题,一直找不到好的解决方法,而这方面的资料几乎为零.
efan兄采用钩子程序捕捉鼠标事件的方法比较特殊,可以实时改变对象,但效果似乎与AutoCAD的内部命令(如比例,直线,旋转,粘贴)执行时的预览图象不太一样.
cag兄提到的作用acadx.arx,可否祥细一点,大家可以借鉴一下. 我见我老师做过,就像复制时候那个虚拟的圆一样,我也想来讨论讨论! 我觉得这个问题应该作为一个课题来研究.
页:
[1]
2