风言无际 发表于 2019-7-14 17:39:00

在VB中调用CAD和在CAD中用VBA操作,为什么鼠标显示不一样

在CAD中用以下VBA代码
Sub test()
    num = ThisDrawing.Utility.GetInteger("请输入多边形的边数:")
    fpnt = ThisDrawing.Utility.GetPoint(, "请选择多边形的起点:")
End Sub
分别获取数字和点位置,当输入完数字回车后,CAD中鼠标指针显示是一个等待输入的十字叉形状,如下图所示
http://bbs.mjtd.com/forum.php?mod=attachment&aid=MTA1MDQyfDJmMzM0ODg0fDE2NTkwNzUyMzh8NzMyNjkxOHwxNzk4OTY%3D&noupdate=yes&nothumb=yes
但是如果把这两句代码修改后在VB6中实现,
Private Sub Command1_Click()
    Set Acad = GetObject(, ".APPLICATION")
    Set Adoc = Acad.ActiveDocument
    num = Adoc.Utility.GetInteger("请输入多边形的边数:")
    fpnt = Adoc.Utility.GetPoint(, "请选择多边形的起点:")
End Sub
当输入完数值回车后,鼠标指针是下面这样的,是带有拾取框的,不清楚的还以为是命令已经结束了呢。
http://bbs.mjtd.com/forum.php?mod=attachment&aid=MTA1MDQzfGE1ZjkwNWQxfDE2NTkwNzUyMzh8NzMyNjkxOHwxNzk4OTY%3D&noupdate=yes&nothumb=yes

这个时候必须移动一下鼠标,指针才会变成十字叉的形状。这样编出来的程序使用起来有点别扭。
请问这是怎么回事?有什么解决办法吗?

风言无际 发表于 2019-7-18 16:14:00

没人回复,自己顶

vbcad 发表于 2019-7-30 07:21:00

也许是环境不一样,VB调用的时候可能是默认值,而VBA在CAD环境中使用的是预设值。
VB在调用的时候,是可以用代码设置鼠标的形状。

风言无际 发表于 2019-8-4 15:14:00


我怎么找不到用什么命令设置光标样式的

vbcad 发表于 2019-8-10 16:22:00

乐筑天下翻译的《ActiveX 和 VBA 参考》中有介绍,我以前用过的,当时是把光标改成一个点。

风言无际 发表于 2019-8-11 20:08:00


方便讲一下具体是在哪个章节吗?谢谢

vbcad 发表于 2019-8-11 22:19:00

时间久了,也记不太清了,光标大致就是和下面这个效果差不多吧。
http://bbs.mjtd.com/forum.php?mod=attachment&aid=MTA1MzY5fGQ5YjRjOGVmfDE2NTkwNzUyMzh8NzMyNjkxOHwxNzk4OTY%3D&noupdate=yes&nothumb=yes

风言无际 发表于 2019-8-14 20:36:00


这个好像是设置的点样式,PDMODE
页: [1]
查看完整版本: 在VB中调用CAD和在CAD中用VBA操作,为什么鼠标显示不一样