乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 55|回复: 5

[编程交流] 如何通过单击停止getentity

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 12:57:50 | 显示全部楼层 |阅读模式
我刚刚在autocad中使用VBA一段时间,遇到了一个问题。
 
我尝试在实用程序中编写do循环。getentity通过与无模式用户窗体交互来收集图形中的线。此外,使用“ESC”或根本不选择,我想通过单击我的用户窗体上的按钮来停止输入,但我想不出来。
 
如何通过单击userform上的按钮来停止getentity?
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 13:11:24 | 显示全部楼层
我从来没有使用过VBA无模式表单,所以我在这里只是猜测,但是如果例程是为了响应应用程序而设置的呢。AppDeactivate事件?它可能允许优雅地退出环路。
 
旁白:有没有理由使用循环实用程序。getentity而不是SelectionSet。选择屏幕?
回复

使用道具 举报

1

主题

56

帖子

80

银币

初来乍到

Rank: 1

铜币
1
发表于 2022-7-6 13:22:11 | 显示全部楼层
 
下面是一些通用代码,当放在用户窗体上时,将允许
点击按钮以跳出在另一个子例程中运行的循环。
 
点击“cmdStartLoop”按钮,通过运行
名为“LoopMe”的子程序。LoopMe子检查名为“UserCancelled”的模块级变量是否更改为true。
 
如果你的循环代码在另一个模块中,那么让你的“UserCancelled”变为全局变量。。。
 
'---------剪断-----------------
'模块级代码:
Dim UserCancelled为布尔值
 
子循环()
UserCancelled=False

DoEvents公司
如果UserCancelled=True,则
MsgBox“用户已取消”
退出Do
如果结束

末端接头
 
Private Sub cmdEndLoop_Click()
UserCancelled=True
末端接头
 
Private Sub-cmdStartLoop\u Click()
LoopMe公司
末端接头
 
 
'----------------剪断-----------------
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 13:38:53 | 显示全部楼层
这看起来当然合理。
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 13:54:09 | 显示全部楼层
谢谢你们,肖特和罗西。
 
实际上,我的代码是这样的:
 
-------------------------------------
 

出错时继续下一步
此图纸。公用事业获取实体ent,ptpick
 
如果不是(ent什么都不是),那么
...
检查实体。。。
根据其句柄从表中检索信息。。。
切换其颜色。。。等
...
如果结束
循环直到(ent什么都不是)
 
-------------------------------------
 
所以rocheey给出的方法在这里可能不起作用,因为它需要我先选择另一个实体来脱离遗传。
 
我在学习应用程序。立即取消激活事件。进展甚微。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 13:58:12 | 显示全部楼层
 
回顾过去,我对申请的建议。AppDeactivate可能更适合于进程外(VB6 EXE无模式表单)例程。
 
鉴于VBA例程仍在宿主进程中,切换到表单可能不会生成AutoCAD deactivate事件。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 06:20 , Processed in 0.447563 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表